qaz233   ♀  喵她  
 

嗨,这里新人加一。

有没有人跟着官网教程走过?

我之前完全没有编程基础,现在刚入手godot,跟着官网教程走,输入官网代码之后,player根本不动我想知道是哪里出了问题,代码附在下面,请大家指点迷津,谢谢。

extends Area2D


export var speed = 400 # How fast the player will move (pixels/sec).

var screen_size # Size of the game window.

func _ready():

screen_size = get_viewport_rect().size

func _process(delta):

var velocity = Vector2.ZERO # The player's movement vector.

if Input.is_action_pressed("move_right"):

velocity.x += 1

if Input.is_action_pressed("move_left"):

velocity.x -= 1

if Input.is_action_pressed("move_down"):

velocity.y += 1

if Input.is_action_pressed("move_up"):

velocity.y -= 1


if velocity.length() > 0:

velocity = velocity.normalized() * speed

$AnimatedSprite.play()

else:

$AnimatedSprite.stop()


# pass


[举报]  赞↑ [0 踩↓ [0
  hareqj   ♂
答:print打印中间过程变量的值,让系统哑口无言,没有理由再出bug!
  赞↑ [3 踩↓ [0]
  qaz233   ♀
感谢群里大神指点迷津!!!
  赞↑ [0 踩↓ [0]
  life   ♂
还没看完教程吧?修改位置的代码在教程下面提及position += velocity * delta
  赞↑ [0 踩↓ [0]
  hareqj   ♂
确实,这里可以加上帧间隔值,velocity = velocity.normalized() * speed * delta
  赞↑ [0 踩↓ [0]
建议先入手一下java等语言 如果有python基础也可以尽量不要没有编程基础就入手GD语言 官网的这段教程 你写出velocity变量这部分只是通过velocity变量确定Area2D的移动方向 教程后面的velocity = velocity.normalized() * speed * delta部分才是让Area2D动起来的代码
  赞↑ [0 踩↓ [0]
你个新人,还没移动
  赞↑ [0 踩↓ [0]
[声明]

初衷和宗旨:共同努力,推动Godot游戏引擎在国内的普及和发展.
1.本站所有内容皆为用户发布,如有涉嫌侵权请联系hareqj#163.com,告知内容右上角所在编号以及侵权证据.
2.禁止发布色情/暴恐/时政/商广/带网址或二维码水印/涉嫌隐私或未经授权的私人图片.
3.举报和投稿:hareqj#163.com

Godot中文社区QQ群
Copyright Godot中文社区 Godott.com All Rights Reserved.
京ICP备13032831号