【发布时间】:2017-11-04 01:33:28
【问题描述】:
开始在 Phaser 中进行一些编码,在构建一个小游戏时遇到了一个问题。每次我们拍摄游戏都会崩溃。 下面是与从我们的角色发射子弹有关的以下代码。
preload:
game.load.image('bullets','http://examples.phaser.io/assets/bullets/bullet11.png');
var bullets;
create (){
bullets = game.add.group();
bullets.enableBody = true;
/*bullets.physicsBodyType = Phaser.Physics.ARCADE;
bullets.createMultiple(30, 'bullet');
bullets.setAll('anchor.x', 0.5);
bullets.setAll('anchor.y', 1);
bullets.setAll('outOfBoundsKill', true);
bullets.setAll('checkWorldBounds', true);
*/
fireButton = game.input.keyboard.addKey(Phaser.Keyboard.DOWN);
}
update () {
if (fireButton.isDown)
{
fireBullet();
}
function fireBullet () {
var text = game.add.text(400,200,'rrrrrrrr'); //used to debug collision
bullets.create(player.x+40,player.y,'bullets');
//bullets.body.velocity.x=+50;
}
}
以上
function firebullet()
目前用于发射子弹(不会移动)
但是一旦我们添加了以下解决方案(在其他示例中使用)
bullets.body.velocity.x=+50;
当我们尝试发射子弹时游戏崩溃。
提前感谢您的帮助。 对不起,可怕的缩进
【问题讨论】:
-
请在浏览器的控制台窗口中发布错误和报告的任何消息。还可以尝试使用浏览器的 JavaScript 调试器来调查问题。
-
另外,你知道
.x=+50和.x+=50是不同的东西吗?我想你想要.x+=50而不是.x=+50。 -
请注意,您的计算机不是中弹的! ;)
-
嘿,戴,是的,我知道这一点,并尝试两者都没有可用至于你的另一个问题,我得到的错误是:从原点'null'访问'phaser.io/sandbox/assets/games/invaders/bullet.png'的图像已经被 CORS 策略阻止:请求的资源上不存在“Access-Control-Allow-Origin”标头。因此,Origin 'null' 不允许访问。响应的 HTTP 状态代码为 404。 VM2640 phaser.min.js:20 Phaser.Loader - image[bullet]: error loading assets from URL assets/games/invaders/bullet.png
-
即使它说它无法访问图像 - 如果我们删除速度代码 - 它工作正常(除了子弹不移动。)
标签: javascript phaser-framework