我正在制作一个平台游戏,它有一个级别,在玩家的同一方向不断射击子弹。但是,我可以获得1个子弹,但是我无法在列表中添加更多的子弹以不断的间隔重复射击。任何帮助将不胜感激!
ls /accumulo/instances /
答案 0 :(得分:1)
每次开火你都必须创建新的子弹实例。
if event.type == FiringBullet:
bullet = Bullets(400,200) # new instance with own position
BulletList.add(bullet) # suggestion to use lower_case name for variables
现在您使用一个实例。您将它添加到列表中,列表上有许多元素,但所有元素具有相同的位置。如果你改变其中一个的位置,那么你改变所有这些的位置。
在PythonTutor.com上查看可视化(它是与python代码的长链接)
BTW:
我宁愿使用名字Bullet
- 它是单个子弹位置。
有PEP8文档(Python代码样式指南)建议
bullet_list
,trap_list
,game_exit
FIRING_BULLET
Bullet
,Sprite
,Group
甚至Stackoverflow Editor都将CamelCase名称作为类名,并使用蓝色。