首页 > 解决方案 > 标识符未在 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

标签: godot

解决方案


在硬币的脚本中,我认为没有声明“分数”。因此,您可以在该脚本中添加“var score = 100”。或者如果你想在敌人和硬币上得分相同,请使用自动加载。包括更多信息。


推荐阅读