godot - 标识符未在 godot 的当前范围内声明
问题描述
硬币得分的代码:
extends Area2D
onready var anim_player: AnimationPlayer = get_node("AnimationPlayer")
func _on_body_entered(body: PhysicsBody2D) -> void:
picked()
func picked() -> void:
PlayerData.Score += score
anim_player.play("Fade")
它不适用于硬币,但适用于敌人(代码):
extends "res://Code/Both Script.gd"
onready var Stomp_Thingy: Area2D = $Stomp_Thingy
export var score: = 100
func _ready() -> void:
set_physics_process(false)
_Velocity.x = -Speed.x
func _on_Stomp_Thingy_body_entered(body: PhysicsBody2D) -> void:
if body.global_position.y > get_node("Stomp Thingy").global_position.y:
return
get_node("CollisionShape2D").disabled = true
queue_free()
func _physics_process(delta: float) -> void:
_Velocity.y += gravity * delta
if is_on_wall():
_Velocity.x *= -1.0
_Velocity.y = move_and_slide(_Velocity, FLOOR_NORMAL).y
func die() -> void:
queue_free()enter code here
PlayerData.Score += score
解决方案
在硬币的脚本中,我认为没有声明“分数”。因此,您可以在该脚本中添加“var score = 100”。或者如果你想在敌人和硬币上得分相同,请使用自动加载。包括更多信息。
推荐阅读
- c++ - 在 Mac OS 中移动第三方窗口
- reactjs - 如何在 Reactjs 的同一页面中显示提交的表单数据?
- angular - 基于行跨度对数据进行分组后行的角度primeng p表选择
- php - 我不知道这段代码有什么错误
- python - 包中的覆盖函数
- c++ - 如何从长指针中提取 little-endian unsigned short?
- objective-c - 如何获取当前激活的视图?
- php - 无法更新数据并存储在数据库中
- java - 在 jmeter beanshell 代码中使用 List 时在 Jmeter 中遇到“=”错误
- android - 如何显示对话框以确认用户希望退出活动?