Kezdőoldal » Számítástechnika » Programozás » Hogyan kell értelmezni az...

Hogyan kell értelmezni az alábbi kódot? (Godot engine gdscript)

Figyelt kérdés

A szintaxist nem értem nem pedig a matekot benne.

A kódnak ezt a részét nem értem csak minden más ok:


# set the velocity

vel.z = (forward * input.y + right * input.x).z * moveSpeed

vel.x = (forward * input.y + right * input.x).x * moveSpeed


Olyan mintha létrehozna egy vectort majd anak visszaadná egy memberjét. A dokumentációban nem találok semmit egy vector ilyen módú létrehozására ha egyáltalán az.


Itt a teljes kód:


vel.x = 0

vel.z = 0


var input = Vector2()


# movement inputs

if Input.is_action_pressed("move_forward"):

input.y -= 1

if Input.is_action_pressed("move_backward"):

input.y += 1

if Input.is_action_pressed("move_left"):

input.x -= 1

if Input.is_action_pressed("move_right"):

input.x += 1


# normalize the input so we can't move faster diagonally

input = input.normalized()


# get our forward and right directions

var forward = global_transform.basis.z

var right = global_transform.basis.x


# set the velocity

vel.z = (forward * input.y + right * input.x).z * moveSpeed

vel.x = (forward * input.y + right * input.x).x * moveSpeed


# apply gravity

vel.y -= gravity * delta


# move the player

vel = move_and_slide(vel, Vector3.UP)


Innen van a kód:

[link]



2020. okt. 15. 18:50
 1/1 anonim ***** válasza:
Pontosan az történik, amire gondolsz. A zárójelben lévö kifejezés egy vektort ad vissza, aminek minden további nélkül el tudod érni a 'z' nevü mezöjét.
2021. jan. 4. 12:29
Hasznos számodra ez a válasz?

Kapcsolódó kérdések:




Minden jog fenntartva © 2025, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu

A weboldalon megjelenő anyagok nem minősülnek szerkesztői tartalomnak, előzetes ellenőrzésen nem esnek át, az üzemeltető véleményét nem tükrözik.
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!