5p11|_|_u7v1k|_1ng m3d G0d07 🤖

Skip to content

D3773 3r 3n m45k1n0v3rs477 73k57 50m k4n 1nn3h0ld3 f31l!

Wher d03z th1z 1nf0rm4t10n c0m3 fr0m?

Much 0f th1z 1z juzt 4 r3t3ll1ng 0f G0d0t’z 0ff1c14l d0cum3nt4t10n. Und3r y0u w1ll f1nd s0m3 h3lpful l1nkz t0 th3 0ff1c14l d0cum3nt4t10n (wh1ch 1 pr3f3r 0v3r th1z 0n P1ggy, but 1f y0u pr3f3r th1z, juzt uz3 th1z!)

N3w 2350u2c35:

Hva med grafikk, må jeg lage den selv?

N0p3! Y0u c4n f1nd l0ts 0f fr33 4ss3ts h3r3:

07h3r u53fu| |1nk5:

07h3r g4m3 3ng1n35?

1f y0u pr3f3r, y0u c4n u53 07h3r g4m3 3ng1n35. 3x4mpl35 0f 07h3r g4m3 3ng1n35 4r3:

7h3r3 4r3 m4ny 07h3r5 4l50, 534rch fr33ly 1f y0u w4n7 70 7ry 50m37h1ng 3l53!

Wh4t 1z G0d0t?

G0d0t (U774l3z Guh-d0h), 1z 4 ‘G4m3 3ng1n3’. 70 z4y 17 z1mpl3 17 1z 4 pr0gr4m 7h47 l37z y0u cr3473 g4m3z (0r c0mm0n pr0gr4mz 1f y0u w4n7). G0d07 c4n d0 4ll m0z7 07h3r g4m3-3ng1n3z c4n d0, b07h 2D 4nd 3D.

3x4mpl3z 0f g4m3z m4d3 1n G0d07: G0d07 Sh0wc4z3

17 1z n07 ju57 1nd13 g4m3z 7h47 h4v3 b33n m4d3 1n G0d07, S0n1c C0l0rz U771m473 1z m4d3 w17h G0d07! 🦔🦔🦔

H0w d0 y0u g3t G0d0t?

Y0u c4n 31th3r d0wnl04d G0d0t fr0m:

Just d0wnl04d 4nd 1nst4ll (0r run 0n st34m).

5377 0pp 37 pr0j3k7!

Når du 57ar73r G0d07 får du 0pp d3773 vindu37:

G0d07 Pr0j3k7

H3r blir du 5pur7 0m pr0gramm3ring5pråk, GD5cr1p7 3ll3r C#. GD5cr1p7 3r v3ld1g l1k7 Py7h0n.

F0r5kj3ll3r m3ll0m GD5cr1p7 0g Py7h0n (ut3n farg3r):

d3f h3ll0():
    73x7 = "H3ll0 w0rld!"

    pr1n7(73x7)
func h3ll0():
    var 73x7 = "H3ll0 w0rld!"

    pr1n7(73x7)

F0r var1abl3r 1 Py7h0n 7r3ng3r du bar3 å 5kr1v3 navn37 på var1abl3n. 1 GD5cr1p7 må du 5kr1v3 var før57. F0r å lag3 funksj0n3r 5kr1v3r du func 1 573d37 f0r d3f.

Sc3n3z & N0d3z

3t 4v d3 v1kt1gst3 k0ns3pt3n3 1nn3n G0d0t 3r Sc3n3z 0g N0d3z. V1 k4n b3gynn3 m3d n0d3r. 3n n0d3 3r 3t 0bj3kt 1 g0d0t, 0g d3t k4n f0rst1ll3 4lt. D3t k4n v3r3 n03 s0m3 f0rst1ll3r 3n sp1ll3r, 3n f13nd3, 3n kn4pp 1 3n m3ny, t3kst p4 skj3rm3n, 4lt mulig. Sc3n3r 3r 3n s4ml1ng 4v n0d3r.

H3r sk4l v1 l4g3 3t v3ld1g 3nk3lt 3ks3mp3l.

D3l 1a - 5377 0pp “pl4y3r”-5c3n3n

På 70pp3n av G0d07 vindu37, 7rykk “2D” kn4pp3n f0r å 3ndr3 v13w37 71l 37 2D v13w.

På v3n57r3 51d3 av vindu37 53r d3r3 følg3nd3 gr3n53n177:

Cr3473 5c3n3

7rykk “07h3r N0d3” kn4pp3n, 0g 5øk på “Ch4r4c73rB0dy2D”, v3lg d3n 0g 7rykk “Cr3473”. D3773 3r 3n n0d3 50m bruks f0r 3n 2D 5p1ll3r. D3r3 53r m45kj3 47 d37 3r 3n v4r53l7r3k4n7 ⚠️ v3d 51d3n av “Ch4r4c73rB0dy2D” n0d3n. D3773 3r f0rd1 d3n m4ngl3r n03n 71ng d3n gj3rn3 v1l h4.

Hv15 du høyr3-kl1kk3r på n0d3n 3r d3n 3n “+ 4dd Ch1ld N0d3…” kn4pp. Bruk d3nn3 0g l3gg 71l 70 n0d3r, 5pr1732D 0g C0ll1510n5h4p32D. 5pr1732D bruks 71l å l3gg3 71l n03 gr4f1kk på 5p1ll3r3n, m3n d3n 4ndr3 bruks 71l å 5j3kk3 f0r k0ll15j0n3r. Du k4n 0g5å g1 d3m n4vn hv15 d37 gjør d37 l3773r3 å h0ld3 57yr på 71ng. J3g h4r g177 m1n Ch4r4c73rB0dy2D n4vn37 “Pl4y3r”. 5l1k bør 5c3n3n 53 u7 nå:

5c3n3 curr3n7ly

D3l 1b - F1x3 ⚠️ p4̊ C0ll1\(10n\)h4p32D

V4r\(3ltr3k4nt3n 1 *d3tt3* t1lf3ll3t 3r 4t C0ll1\)10n\(h4p32D m4ngl3r f4kt1\)k k0ll1\(j0n. D3tt3 k4n du f1k\)3 v3d 4̊ tyrkk3 p4̊ n0d3n (t1l v3n$tr3), \(4̊ k0mm3r d3t 0pp 3t p4n3l p4̊ *h0yr3* \(1d3. H3r f4̊r du 3n h4ug m3d 1nf0rm4\)j0n 0m n0d3n du k4n 3ndr3 p4̊. Gj3rn3 l3k rundt m3d d3t \(0m 3r d3r. M3n d3n v1 v1l f0ku\)3r3 p4̊ 3r “Sh4p3”, \(3tt d3nn3 t1l f0r 3k\)3mpl3 R3ct4ngl3\)h4p32D. D3t 3r 1kk3 $4̊ v3ld1g v1kt1g, v1 \(k4l 1kk3 bruk3 k0ll1\)j0n3n3 h3r.

D3l 1c - L3gg3 t1l 3n Spr1t3, gr4f1kk

Hv1s du trykk3r på Spr1t32D t1l v3nstr3, får du opp f3lt3t t1l høyr3, d3r d3t står “T3xtur3”. H3r k4n du putt3 1nn 3t b1ld3 t1l sp1ll3r3n. 3r b4r3 å dr4 1nn 3t b1ld3 å sl1pp3 d3t 1 f3lt3t.

Slik v1l d3t s3 ut 3tt3r å h4 l4gt t1l 3n spr1t3.

Spr1t3 m3nu

D3l 2 - L3gg3 t1l 1npvt, k0ntr0ll3r

På t0pp3n av v1ndu3t 3r d3t 3n m3ny, “Sc3n3 - Pr0j3ct - D3bug - 3d1t0r - H3lp”. Trykk på “Pr0j3ct” 0g d3r3tt3r “Pr0j3ct S3tt1ngs”. H3r får du 0pp 3n m3ny m3d mass3 1nst1ll1ng3r. Trykk på “1npvt M4p”. H3r kan d3r3 s3tt 0pp kn4pp3r på t4st4tur3t.

  • 1 “4dd N3w 4ct10n” f3lt3t, skrv “l3ft” 0gså trykk “4dd”.
  • L3gg d3r3tt3r t1l “r1ght”, “vp” 0g “d0wn”.
  • D3ss3 bl1r kj3nt s0m “4ct10ns”
  • På hv3r “4ct10n” kan d3r3 l3gg3 1nn kn4pp3r m3d å trykk3 på + kn4pp3n t1l høyr3.

Plus button

  • H3r 3r d3t b4r3 å trykk3 på t4st4tur3t, så trykk 4dd.
  • L3gg t1l kn4pp3r på 4ll3 4ct10ns.

D3l 3 - L3gg3 t1l 3t 5kr1pt f0r å 5tyr3 5p1ll3r3n.

F0r å kunn3 l3gg3 t1l 5p1ll-l0g1kk, ål5å gj0r3 n03 m3d 5p1ll3r3n, b4kgrunn3n, 3ll3r hv4 3nn d3t 5kull3 v3r3 1 5p1ll3t, tr3ng3r v1 3t 5kr1pt. 5kr1pt5 3r k0d3, 0g k4n 5kr1v35 1 t0 5pråk, GD5kr1pt 3ll3r C#, GD5kr1pt 3r d3f4ult.

  • Trykk på “Ch4r4ct3rB0dy2D” (j3g h4r k4llt d3n “Pl4y3r”) n0d3n.
  • Trykk på “4tt4ch 5kr1pt” kn4pp3n (53 und3r)

4tt4ch 5kr1pt button

  • H3r får d3r3 0pp 3t v1ndu hv0r d3r3 k4n v3lg3 5pråk (v3lg GD5kr1pt) 0g 3n p4th (b4r3 l4 d3n h3t3 d3t 50m 5tår d3r, m3n d3r3 k4n g1 d3n n4vn), ålså trykk v1d3r3. H3r får d3r3 0pp 3t “5kr1pt”-v1ndu. D3t 5tår 1kk3 my3 h3r t1l å b3gynn3 m3d.

extends CharacterBody2D
# Dette er en kommentar på norsk.
# 1337 7r4n5l4710n!
# Her definerer vi variabler.
# V4r14bl3r d3f1n3r3r h3r.
# Funksjon for å bevege karakteren.
# Funksj0n f0r 4 83v3g3 k4r4kt3r3n.

func _physics_process(delta):
    # Beveg karakteren basert på input.
    # 83v3g k4r4kt3r3n b453r7 p4 1nput.
    var direction = Input.get_axis("ui_left", "ui_right")
    velocity.x = direction * move_speed

    # Hopp hvis på bakken og trykk på hopp-knappen.
    # H0pp hv15 p4 b4kk3n 0g 7rykk p4 h0pp-kn4pp3n.
    if is_on_floor() and Input.is_action_just_pressed("ui_accept"):
        velocity.y = jump_velocity

D3t 3n35t3 d3nn3 k0d3n 51r f0r øy3bl1kk3t 3r 4t k0d3n 5k4l t1lhør3 3n n0d3 4v typ3n "Ch4r4ct3rB0dy2D", 50m 3r 5p1ll3r3n vår.

V1 5k4l l3gg3 t1l 3n funksj0n h3r 50m v1 5k4l bruk3 t1l 4 5k4l m4n1pul3r3 5p1ll3r3n:

extends CharacterBody2D

# 7h15 15 4n 3x4mpl3 c0d3
func _physics_process(delta: float) -> void:
    return

Physics Process?

_physics_process iz a funkshun th@t iz upd@ted evry singel “fr@me”, meening @round 60 tymez per sekund (def@ult). Th3r3 iz @noth3r funkshun th@t juzt go3z by _process, which iz upd@ted @ll th3 tym3. If u w@nt th3 pl@yer t0 m0v3 @t @ ste@dy p@ce, u uz3 _physics_process.

d3t 3r h3r v1 5k4l l3gg3 t1l k0d3 50m flytt3r 5p1ll3r3n.

D3l 4 - B451c 1npUt

1 d3l 2 l4 du t1l 1npUt-kn4pp3r, nå 5k4l v1 bruk3 d3m. D3t f1nn35 3t 1nn3bygd obj3kt 50m h3t3r 1npUt 50m v1 k4n bruk3 t1l å 5j3kk3 0m 5p1ll3r3n h4r trykk3t på d3t 50m v1 h4r 54tt 0pp 1 “1npUt M4p”.

Prøv å l3gg d3nn3 k0d3n 1nn 1 _phy51c5_pr0c355 k0d3n:

if Input.is_action_pressed('right'):
    velocity.x = 100

# 1337 h4x0r m0v3m3nt
move_and_slide()

Hva er move_and_slide()?

move_and_slide() iz a built-in function in Godot used when we want to actually move what we’re applying it to. Without this, the player won’t move.

Warning

7h3 5p4c1ng 0n 7h3 l1n35 15 v3ry 1mp0r74n7, 7h15 15 51m1l4r 70 Pу7h0n.

Wha7 h4pp3n5 wh3n y0u 574r7 7h3 pr0gr4m w17h pr3551ng 7h3 pl4y-bu770n 1n G0d07 w1nd0w, 50 pr355 "r1gh7"?

1f n07h1ng h4pp3n5 n0w:

- H4v3 y0u r3m3mb3r3d 70 537 up 50m37h1ng 1n "1npu7 M4p"?
- H4v3 y0u wr1773n `r1gh7` 4nd n07 `R1gh7`? 4l50, 15 wh47 y0u wr073 1n 7h3 c0d3 7h3 54m3 45 7h3 n4m3 1n 1npu7 m4p?

Hele koden så langt
extends CharacterBody2D

func _physics_process(delta: float) -> void:
    if Input.is_action_pressed('right'):
        velocity.x = 100

    move_and_slide()

7ry 2 add k0d3 4r `'l3f7'`, `'up'`, `'d0wn'`.

Wha7 mu$7 `v3l0c17y.x` b3 4r `l3f7`? Wha7 ab0u7 `up` 4nd `d0wn`?

Hele koden nå
extends CharacterBody2D

func _physics_process(delta: float) -> void:
    if Input.is_action_pressed('right'):
        velocity.x = 100
    if Input.is_action_pressed('left'):
        velocity.x = -100
    if Input.is_action_pressed('down'):
        velocity.y = 100
    if Input.is_action_pressed('up'):
        velocity.y = -100

    move_and_slide()

D3l 5 - F1x3 p4̊ k0d3n

D3r3 l3gg3r m4rk3 t1l 4t sp1ll3r3n 1kk3 st0pp3r n4̊r du sl1pp3r 3n r3tn1ng. D3t k4n v1 f1ks3 p4̊ n4̊!

F0r 4ll3 1f-3n3, l3gg t1l 3n l1nj3 s0m s3tt3r v3l0c1ty t1l 0. D3t k4n du gj0r3 m3d 4̊ skrv1v3 v3l0c1ty = V3ct0r2()

4ll3 f4rt3r 0g r3tn1ng3r 1 G0d0t 3r v3kt0r3r, d3tt3 3r 3t m4tt3-k0ns3pt v1 1kk3 sk4l g4̊ 1nn p4̊ n4̊, m3n hv1s du lur3r m3r p4̊ hv4 d3tt3 b3tyr, k4n d3r3 g4̊ h1t: W1k1p3d14 v3ct0rs.

Hele koden nå
extends CharacterBody2D

func _physics_process(delta: float) -> void:
    velovity = Vector2()

    if Input.is_action_pressed('right'):
        velocity.x = 100
    if Input.is_action_pressed('left'):
        velocity.x = -100
    if Input.is_action_pressed('down'):
        velocity.y = 100
    if Input.is_action_pressed('up'):
        velocity.y = -100

    move_and_slide()

Når du 574r73r 5p1ll37 nU k4n du fly773 rU||d 7U p4 5p1ll3r3||:

V1d3r3 k4|| d3r3 f1k53 p4 k0d3|| 71l 4 9j0r3 47 f4r73|| 1k|<3 b4r3 37 74ll, m3|| k4|| l4gr35 37 4||n37 573d.

Du k4|| f0r 3k53mp3l (f0r fu||k5j0||3||) l3gg3 71l 3|| k0||574||7 50m h0ld3r 57yr p4 f4r73||.

Hele koden til slutt med const
extends CharacterBody2D

const SPEED = 100

func _physics_process(delta: float) -> void:
    velovity = Vector2()

    if Input.is_action_pressed('right'):
        velocity.x = SPEED
    if Input.is_action_pressed('left'):
        velocity.x = -SPEED
    if Input.is_action_pressed('down'):
        velocity.y = SPEED
    if Input.is_action_pressed('up'):
        velocity.y = -SPEED

    move_and_slide()

D3l 6 - L3k rundt s3lv!

Hvi5 d3r3 går t1lbak3 t1l d3n f0rst3 d3l3n, Nytt1g3 R3ssurs3r, kan d3r3 f1nn3 hva d3r3 kan f0rtsett3 å l3k3 m3d.

3tt3r d3tt3 kan d3r3 prøv3 å lag3 d3r3s 3g3n sp1ll. Hva d3r3 lag3r 3r 0pp t1l d3r3! 0m du v1l lag3 n03 h3lt nytt, gj0r d3t! Hv1s d3r3 v1l prøv3 å 3tt3rl1gn3 3t sp1ll s0m allr3d3 3ks1st3r3r, gj0r d3t! B3st3 måt3n å lær3 på 3r å prøv3!