首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >你怎么使用dx?

你怎么使用dx?
EN

Stack Overflow用户
提问于 2022-02-24 04:49:50
回答 1查看 502关注 0票数 0

我的代码有点问题:

代码语言:javascript
复制
import turtle

wn = turtle.Screen()
wn.bgcolor('lightblue')

cup = turtle.Turtle()
cup.shape('square')
cup.shapesize(1.5, 1)
cup.speed(0)
cup.dy = 1
cup.dx = 2
cup.penup()

gravity = 0.1


def face_right():
    cup.setheading(310)


def face_left():
    cup.setheading(45)


def jump_right():
    cup.dy *= -1


def jump_left():
    cup.dx *= -1
    cup.dy += gravity


def do_right():
    jump_right()
    face_right()


def do_left():
    face_left()
    jump_left()


wn.listen()

wn.onkeypress(do_right, 'Right')
wn.onkeypress(do_left, 'Left')


wn.listen()

while True:
    wn.update()
    cup.dy -= gravity
    cup.sety(cup.ycor() + cup.dy)

    cup.setx(cup.xcor() + cup.dx)

正如您所看到的,当您运行代码时,“向右跳”函数工作得很好。跳楼留下了一个吗?没那么多。我试过通过尝试大量不同的可能组合来解决这个问题,但似乎都没有效果。我在游戏中想要的是跳转右边的功能,但相反,当左箭头键按下时,它会向左跳。我被给予了一个挑战,想要和海龟打一场完整的比赛,但我不知道我是否还能继续比赛。

提前谢谢你!

我正在使用python 3

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2022-02-24 05:21:36

dxdy是头寸的变动量。如果dx是2,就意味着在一定时间内重复移动右2。另外,dy是向上和向下位置的变化量。您可以通过加或减来实现它,而不是将更改的数量乘以。乘积会突然改变位置的变化量,乘以一个负数就意味着改变方向。下面是您的代码的修改代码。

代码语言:javascript
复制
import turtle

wn = turtle.Screen()
wn.bgcolor('lightblue')

cup = turtle.Turtle()
cup.shape('square')
cup.shapesize(1.5, 1)
cup.speed(0)
cup.dy = 1
cup.dx = 2
cup.penup()

gravity = 0.1


def face_right():
    cup.setheading(310)


def face_left():
    cup.setheading(45)


def jump_right():
    cup.dx += 3
    cup.dy += 3


def jump_left():
    cup.dx += -3
    cup.dy += 3


def do_right():
    jump_right()
    face_right()


def do_left():
    face_left()
    jump_left()

wn.onkeypress(do_right, 'Right')
wn.onkeypress(do_left, 'Left')

wn.listen()

while True:
    wn.update()
    cup.dy -= gravity
    cup.sety(cup.ycor() + cup.dy)
    cup.setx(cup.xcor() + cup.dx)

或者你想要更快的移动和跳跃,

代码语言:javascript
复制
def jump_right():
    cup.dx = 3
    cup.dy = 3


def jump_left():
    cup.dx = -3
    cup.dy = 3
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/71247245

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档