Rimbalza sulla racchetta
Fa parte della sezione Progetti del percorso Godot di Coddy. Lezione 4 di 33.
La pallina attraversa la racchetta. La pallina è un Area2D. Il suo segnale body_entered scatta quando un corpo, come la racchetta, la tocca. Fai rimbalzare la pallina verso l'alto quando quel corpo è la racchetta:
func _ready():
body_entered.connect(_on_body_entered)
func _on_body_entered(body):
if body.name == "Paddle":
velocity.y = -abs(velocity.y)abs() rimuove il segno meno, quindi -abs(velocity.y) punta sempre verso l'alto. Un secondo tocco non può rimandare la pallina verso il basso.
Per permettere al giocatore di mirare, imposta velocity.x in base al punto in cui la pallina colpisce. position.x - body.position.x è la distanza della pallina dal centro della racchetta. È negativa nella metà sinistra e positiva in quella destra. Moltiplicala per 5.
Sfida
MedioIn ball.gd, fai rimbalzare la palla sul paddle:
- Collega
body_entereda_on_body_enteredin_ready. - Quando il nome del corpo è
Paddle, impostavelocity.xsu(position.x - body.position.x) * 5evelocity.ysu-abs(velocity.y).
Provalo tu
extends Area2D
var velocity = Vector2(110, -280)
func _physics_process(delta):
position += velocity * delta
if position.x < 8 or position.x > 632:
velocity.x = -velocity.x
if position.y < 42:
velocity.y = -velocity.y
Questa lezione include un breve quiz. Inizia la lezione per rispondere e tenere traccia dei tuoi progressi.
Tutte le lezioni di Progetti
1Progetto: Breakout
La racchetta di BreakoutMantieni la racchetta sullo schermoEsercitati da solo: Playground Godot