我有困难,使我的精灵滑冰。pygame的地方雪碧溜冰鞋
的事情是我的精灵应该滑动,直到遇到类似的屏幕或块的边界。此外,这应该在精灵在冰上时完成,如果精灵不在冰上,那么精灵应该走路。所以如果这个人压一次,那么这个精灵就会滑冰,直到它碰到一些会阻止它移动的东西。
谢谢!
我有困难,使我的精灵滑冰。pygame的地方雪碧溜冰鞋
的事情是我的精灵应该滑动,直到遇到类似的屏幕或块的边界。此外,这应该在精灵在冰上时完成,如果精灵不在冰上,那么精灵应该走路。所以如果这个人压一次,那么这个精灵就会滑冰,直到它碰到一些会阻止它移动的东西。
谢谢!
我不知道你当前如何有你的代码,但一般的模板是:
# main loop
while True:
for each object:
update(framerate)
render()
# skater code
class skater:
moving = True
speed = [0,0]
x = 0
y = 0
def update(framerate):
# check for collisions
if collision:
self.moving = False
# move the skater
if self.moving:
self.x += self.speed[0]*framerate
self.y += self.speed[1]*framerate
moving
将被设置为true,那么箭头键被按下。 其中speed
是由什么方向键决定已按下(右-
左,后,+
和向下)
http://pastebin.com/cEpp44NS 这里是我的代码 它是一种越野车,因为精灵会滑动一小段距离,然后完全停止移动 介意看看它? – bluesplay106
你需要继承'spite'不'state',http://pygame.org/docs/tut/tom/games5.html应该有点帮助。 – Serdalis
其实,我这样做,因为我有一个字符类,如果是雪碧,我有walking.py和standing.py这使得精灵移动(动画),我想要做skating.py类似的东西这是代码我向你展示 – bluesplay106
从看你的代码在http://pastebin.com/cEpp44NS你正在做的事情,如:
self.speedX1 *= (self.ice * self.normal_friction)
这将非常迅速地减少self.speedX1
(尤其是因为self.ice
设置为0.01)
从您所说的话,听起来好像你不希望在滑动时速度一直在下降,所以试试看删除此代码。
什么问题?你试过什么了? – Serdalis
就像我能够让我的精灵滑动,但短距离 但这不是滑动我想大声笑 我希望它的距离并不重要 而应该是,精灵滑动,直到有东西停止它 – bluesplay106
你'我需要在这里发布至少相关代码的一部分,我不知道你做了什么或者怎么做,直到我做不幸之前,我都帮不了你。 – Serdalis