- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在尝试使用 Phaser Arcade 物理制作一款游戏,您可以在其中控制 Sprite 并尝试使用箭头键避开物体。但是,我在使这些对象和 Sprite 之间发生碰撞时遇到问题。
我的代码: https://jsfiddle.net/o445dt44/
具体是在 JSFiddle 的第 69 行,我想让你看一下。
//game.physics.arcade.collide(sprite, enemy, enemy2, enemy3);
这通常应该完成碰撞的工作,但事实并非如此。
非常感谢任何帮助。谢谢!
最佳答案
仅供引用,您的 JSFiddle 缺少对 Phaser 的外部引用。您可以将 CDN 版本添加到 https://cdnjs.cloudflare.com/ajax/libs/phaser/2.6.2/phaser.min.js ,例如。
其次,您实际上没有正确使用碰撞函数。每the documentation它实际上是collide(object1, object2, collideCallback, processCallback, callbackContext)
。
我创建了a forked version正确设置碰撞。特别是进行了以下更改:
敌人需要设置在与 Sprite
相同的水平。
var enemy;
var enemy2;
var enemy3;
接下来,在您的更新中,考虑到您的设置方式,您需要单独设置所有对象之间的碰撞:
game.physics.arcade.collide(sprite, enemy);
game.physics.arcade.collide(sprite, enemy2);
game.physics.arcade.collide(sprite, enemy3);
game.physics.arcade.collide(enemy, enemy2);
game.physics.arcade.collide(enemy, enemy3);
game.physics.arcade.collide(enemy2, enemy3);
另一种更好的方法是将你的敌人设置为一个群体,然后让你的 Sprite 与该群体发生碰撞。
有一个 official Sprite Vs Group example这涵盖了这一点。如果您希望敌人发生碰撞,您可以将组设置为与自身碰撞。
game.physics.arcade.collide(enemies, enemies);
关于javascript - 与 Phaser Arcade 物理引擎的碰撞,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43737150/
有人知道如何为 PACMAN ARCADE 游戏创建用例图吗?这些是一些功能: 幽灵运动与行为 当能量被吃掉时,幽灵会变成蓝色并逃离吃 bean 人 四色鬼追手 增能器和动力颗粒以及迷宫生成, 增能器
我正在考虑创建一个简单的 html5 游戏厅,人们可以在其中提交他们的游戏,然后由我托管。 游戏将直接在浏览器中运行。内容加载后,他们将不会访问任何服务器。很像老式的 flash 街机网站(Minic
如何使用 Python Arcade 库截取当前窗口的屏幕截图? 我已经使用 Python Arcade 库构建了一个模拟器,并希望在发生有趣事件时以编程方式截取窗口的屏幕截图。这可能吗? 最佳答案
我正在尝试使用 Phaser Arcade 物理制作一款游戏,您可以在其中控制 Sprite 并尝试使用箭头键避开物体。但是,我在使这些对象和 Sprite 之间发生碰撞时遇到问题。 我的代码: ht
使用Phaser我在“街机模式”下创建了一个游戏。游戏有一个雪球,我需要将物理尺寸设置为不像正方形(即圆形)的 Sprite 。我该怎么做? setSize 没有 radius 属性: setSize
我在做一个贪吃蛇游戏,当我想实现蛇与苹果的碰撞时,遇到如下错误。arcade 中的碰撞错误:当我在 python 中使用 arcade.check_for_collision 方法并发生碰撞时,它给出
我想杀死子弹,因为它与小行星重叠,但它不起作用。请看一下我的代码。我多次查看代码,但一切看起来都正确。我还想在小行星上进行碰撞。 game.js var bullets; var Game = {
我正在浏览 python arcade 上的教程,想知道一个函数是如何工作的/为什么工作。 有一个名为on_draw(delta_time)的函数 我查看了 arcade 的代码,但无法弄清楚库是如何
尝试运行an example of a python arcade library game . 将代码粘贴到 Pycharm:“导入 Arcade”行失败,因为“Arcade 库需要 Python
更新: 我检查了计算机上安装的显卡。 它“工作”的一个有 Nvidia 显卡,另一个在设备管理器的显示适配器下有 Intel HD R 显卡。我假设 Intel HD R 显卡驱动程序不够(不包含所需
我是一名优秀的程序员,十分优秀!