Mon nouveaux niveau ne charge pas en GODOT 3.1

Je ne puex pas traverser le niveau (faire un deuxieme niveau)

a marqué ce sujet comme résolu.

Salut tout le monde !!! bien mon niveau ne charge pas, jai déjà fait plusieurs tutoriels et jai toujours le même problème et ce quil ne reconnais pas larea de colision il va aller toujours en arrière, je vous laisse le code pour

extends Area2D export (String, FILE, "*.tscn") var next_world func physicsprocess(delta): var bodies = getoverlappingbodies() for body in bodies: if body.name == "Player": gettree().changescene("next_world")

Dans levolution de tutorial javais cette autre code et sa marche pour reconaitre l`area de colition mais au moment ou je change le code pour le code que je vous ai laisse il ne le reconnaise plus

""" Avec cette aoutre code il reonais soft que naturelment il ne permetre teletransporter le personage a l`autre niveau

extends Area2D

func _physics_process(delta): var bodies = get_overlapping_bodies() print (bodies) for body in bodies: if body.name == "Player": get_tree().change_scene("res://Scenes/Word2.tscn") """

Et en bas je vous laisse le code de mon personage (Player)

""" extends KinematicBody2D

const UP = Vector2(0, -1)

const GRAVITY = 20 const ACCELERATION = 50
const MAX_SPEED = 200
const JUMP_HEIGHT = -550

var motion = Vector2()

func _physics_process(delta): motion.y += GRAVITY
var friction = false

if Input.is_action_pressed("ui_right"):

    motion.x = min(motion.x + ACCELERATION, MAX_SPEED) 
    $Sprite.flip_h = false    
    $Sprite.play("Run")      
elif Input.is_action_pressed("ui_left"):
    motion.x = max(motion.x - ACCELERATION, -MAX_SPEED)
    $Sprite.flip_h = true
    $Sprite.play("Run")
    
else:
    friction = true
    $Sprite.play("Idle")
    
if is_on_floor():       
    if Input.is_action_just_pressed("ui_up"):
        motion.y = JUMP_HEIGHT
    if friction == true:
        motion.x = lerp(motion.x, 0, 0.2) 

else:   
    if motion.y < 0:         
        $Sprite.play("Jump")  
    else:                     
        $Sprite.play("Fall")  
    if friction == true:
        motion.x = lerp(motion.x, 0, 0.5)

motion = move_and_slide(motion, UP) 

"""

Si quelquun puex maider je vais vous remercier !!!

+0 -0

Merci beaucoup a tous que me lise et à Hemasaur La vérité le code marche bien, mais certainement lerreur vient quand dans ce morceau du code il est dans une Node pour que mon personnage le touche et il finira pour aller a lautre chambre, univers, niveau, soft que quand il le fait il passe en arrière de cette Object sans faire la colition.

extends Area2D export (String, FILE, "*.tscn") var next_world

func _physics_process(delta): var bodies = get_overlapping_bodies() for body in bodies: if body.name == "Player": get_tree().change_scene("next_world")

………. ma mère me dis ce toujours la même chose tu as oublier quelque petite chose ou tu as mis quelque petite chose de plus et maintenant je sais qu`elle a de raison, soft que je par l’instant ne suis pas capable, bien en tout cas on finira par trouver une solution


Ici ce tout le code seulement prendre ce morceau de code et fait le une indentation adéquate, ce ne pas une problème si je ne peux pas bien écrir en Français a cause du system du blog. le code comence 1 lingne estends extends Area2D

Si ce tres complique a comprendre prendre le code et laisse le dans le compilateur de Godot, finalement le code est complet et la seul chose que je cherche se passe au deuxième niveau, si vous ne sais pas assez de GDScript ne critique pas le Français, si la comunaute francophone peux m`aider bien génial et merci beaucoup




extends Area2D

export (String, FILE, "*.tscn") var next_world

func _physics_process(delta):

var bodies = get_overlapping_bodies()
for body in bodies:
    if body.name == "Player":
        get_tree().change_scene("next_world")

Connectez-vous pour pouvoir poster un message.
Connexion

Pas encore membre ?

Créez un compte en une minute pour profiter pleinement de toutes les fonctionnalités de Zeste de Savoir. Ici, tout est gratuit et sans publicité.
Créer un compte