Windows käsurida
Igale arvutile on töötamiseks paigaldatud operatsioonisüsteem (näiteks MS...
Nagu eelmises peatükis tutvusime, siis skripti lisamisel tekitatakse kaks funktsiooni:
1 2 3 4 5 6 7 8 9 10 | extends Node #käivitatakse korra func _ready(): pass #hoitakse töös func _process(delta): print(delta) |
Mängu juhtimiseks on erinevaid viise. Arvutite puhul on selleks kõige populaarsemad klaviatuurid ja hiired. Kindlasti järgnevad nendele erinevad mängupuldid, puutetundlikud ekraanid (ka telefonid jms), liikumise tuvastamise kontrollerid, virtuaalreaalsuse süsteemid jne. Jääme esialgu klaviatuuri ja hiire peale ning kasutame kaardistamise meetodit Input Map. Kaardistamisel on mitu eelist. Näiteks saad ühele tegevusele lisada mitu erinevat klahvi. Samas selle kasutamine võimaldab luua mängus võimalus, kus kasutaja saab klahve ise muuta.
Teen harjutuseks uue projekti, alustan lihtsa Node’iga ja lisan sellele skriptifaili. Mine Project > Project Settings > Input Map.
Lisa Action reale nimetus, kuidas soovid klahvivajutust välja kutsuda. Näiteks “hyppa” ja kliki Add nupule.
Nüüd lisame sellele soovitud klahvid. Kliki “+” nupule ja vali Key.
Kui pisike aken avaneb, siis vajuta soovitud klahvile, mille nimetus ilmub akna keskele. Näiteks vajutasin tühikule. Kinnitamiseks vajuta OK.
Samale ‘hyppa’ nimetusele saab veel tegevusi lisada. Kõiki kaardistatud tegevusi saab igal ajal muuta.
Kasutame Input (https://docs.godotengine.org/en/3.2/classes/class_input.html#input) klassi klahvivajutusele reageerimiseks.
1 2 3 4 | func _process(delta): if Input.is_action_just_pressed("hyppa"): print("hop") |
Sisestuse juures kasutasime hetkel meetodit is_action_just_pressed , mis reageerib korra, isegi kui nuppu all hoida. Kui soovid, et tegevus toimuks, kuni klahv on all, siis kasuta is_action_pressed.
Hiirele reageerimine toimub sama moodi nagu klaviatuurile. Saad isegi sama nimetuse alla lisada. Vajuta “+” ja vali Mouse Button.
Avanenud aknas tuleb märkida, millisele klahvile või rulliku tegevusele reageerida.
Ja kood on ka sarnane klaviatuuri omaga.
1 2 3 4 5 6 | func _process(delta): if Input.is_action_just_pressed("hyppa"): print("ale...") if Input.is_action_just_released("hyppa"): print("...hopp") |
Loo tulistamismäng, kus tühikule vajutades kaotab koletis elusid 8-12. Sinu relval on salve mahtuvus 5 padrunit, mida tuleb mingi klahvivajutusega laadida. Kuva:
Mäng saab läbi, kui vaenlane on hävitatud. Kuva:
Tegevus lisa funktsioonidega!!!
Abiks: