我正在努力重新创建一个突破克隆来帮助我学习Phaser(遵循jsbreakouts.org的整体设计)。无论如何,我已经设置了开始屏幕。从开始屏幕开始,我可以毫无问题地转换到游戏状态。在我的游戏状态下,我可以毫无问题地加载背景和球拍。拨片按预期响应鼠标输入。
但球由于某种原因没有加载。球来自spritesheet。表中的每个球是16x16,其中有5个。我甚至无法加载其中一个,更不用说动画了它们。
球spritesheet与paddle在同一目录中。我在网上查看了其他代码,据我所知,我做得对。然而,它没有用。
我做错了什么?
这是我的游戏状态代码:
import-csv "C:\qt\users_add.csv" | Group-Object Group | % {
# Foreach Group, get ADUser object for users and add members
$users = $_.Group | % { Get-ADUser $_.users }
Add-ADGroupMember $_.Name -Member $users
}
答案 0 :(得分:0)
我回过头来看过我制作的一些游戏,我的代码和你的代码之间唯一不同的就是当你声明spritesheet时。
你声明你的球spritesheet:
game.load.spritesheet('ballsheet', './assets/balls.png', 16, 16, 5);
我认为最后你不需要5。你可以告诉Phaser每个精灵的宽度和高度,它会自动将它分成正确数量的精灵,假设spritesheet上的精灵之间没有间隙。
在加载瓷砖spritesheet时,您似乎已经这样做了。您刚刚声明了每个图块的宽度和高度,并且不需要指定spritesheet中有多少个精灵。
这是我能想到的唯一可能导致问题的原因。
我希望它能以某种方式帮助你。
答案 1 :(得分:0)
我建议在Spritesheets上使用纹理图集。它们提供更好的性能并且更易于使用,因为您不需要处理设置框架维度的废话。
Preloading Texture Atlas (actually any Phaser assets)
var s = new Sprite(game, 'key', 'frame')