使用javascript的Phaser中的一个奇怪行为
a strange behavior in Phaser with javascript
首次
我根本不是游戏开发的初学者,而是网络游戏开发的新手,尤其是
我开始使用Phaser,因为它看起来不错,并针对移动游戏进行了优化
无论如何。。
我在游戏中有一个奇怪的行为——我放了一个矩形,并试图移动它(当我调试X轴时,它已经正确改变了,但我看不到矩形移动!!)
我的代码
var game = new Phaser.Game(window.innerWidth,window.innerHeight,Phaser.AUTO);
var colors = ["#FF0000" , "#00FF00" , "#0000FF" , "#FFFF00" , "#00FFFF" , "#FFFF00"];
var lst;
var hlprs = [];
var gameState = {
preload: function () {
this.game.stage.backgroundColor = "#FFFFFF";
},
create: function () {
for (var i = 0 ; i < 8 ; i++)
{
hlprs[i] = new Phaser.Rectangle((i*200),0,100,20);
hlprs[2*i + 1] = new Phaser.Rectangle((i*200),window.innerHeight - 20,100,20);
game.debug.geom(hlprs[i] , colors[Math.floor((Math.random() * 6))]);
game.debug.geom(hlprs[2*i + 1] , colors[Math.floor((Math.random() * 6))]);
}
},
update: function ()
{
moving();// it calls moving function and X axis is changes but (the rectangle does not move !!!)
}
};
function moving()
{
for (var i = 0 ; i < 8 ; i++)
{
hlprs[i].offset(-1,0);
hlprs[2*i + 1].offset(-1,0);
}
}
game.state.add('GameState' , gameState);
game.state.start('GameState');
如果不进行测试,我猜会发生以下情况:创建一堆形状,并为每个形状调用game.debug.geom()
。与此同时,形状确实开始移动,但由于您再也不会调用game.debug.geom()
,因此您永远不会看到任何移动。
如果您打算使用game.debug
中的方法,它们通常应该进入您所在状态的render()
方法(每帧调用一次)。
请注意,调试方法也将用于调试。显示形状的正确方法是制作精灵或图像(在这种情况下,您不必手动更新任何内容,因为Phaser会处理它)。
由于update()
函数调用moving()
,您可能希望game.debug
命令位于moving
中
function moving()
{
for (var i = 0 ; i < 8 ; i++)
{
hlprs[i].offset(-1,0);
hlprs[2*i + 1].offset(-1,0);
// update here
game.debug.geom(hlprs[i] , colors[Math.floor((Math.random() * 6))]);
game.debug.geom(hlprs[2*i + 1] , colors[Math.floor((Math.random() * 6))]);
}
}
下面是一个演示:https://jsfiddle.net/user2314737/J5fUE/253/
相关文章:
- 创建一个类似链接的按钮,并通过Javascript函数打开一个新的弹出窗口
- jQuery:循环一个具有不同超时值的循环
- 当包含另一个asp文件时,是否也包含所有引用的样式和脚本页面
- 从javascript创建一个列表
- 节点导出返回一个空对象
- 使用clickToggle并在单击另一个元素时关闭元素
- 我可以在json对象中添加一个函数吗
- 使用javascript将动态表从一个html页面打印到另一个html页
- 将jsp文件下拉列表中的选定项分配给一个java变量(比如String selection)
- 表追加而不附加最后一个元素
- 我如何找到一个句子中的所有空格并替换忽略它们
- D3在一个调用中绘制不同的SVG形状,没有可见性
- 如何在android中使用phonegap将文件从一个文件夹移动/复制到另一个文件夹
- 如何使用phaser使html5游戏在移动设备浏览器上运行
- 使用类从一个标记中双击事件
- 使用javascript的Phaser中的一个奇怪行为
- 我在Phaser有一个项目.我想在画布上的元素上做一个用户图像编辑器
- 如何在 Phaser JS 中实现一个好的计时器
- Phaser Box2d-在一个方向上锁定拖动
- 在Phaser框架中给予精灵一个覆盖