Karaktero-regilo estas skripto, kiu movas vian rolulon. Por ke via rolulo moviĝu, vi bezonas skripton, kiu diras al via regilo, kion fari.
Vi unue bezonas valoraĵon de la Asset Store. Via karaktero havas unu Sprite-bildiganto. Vi ankaŭ bezonas la ĉefan fotilon kaj diversajn kahelojn, kiuj arigas vian nivelon. La platformoj havu koliziilojn. Krome, oni devus Kolizilo ĉeesti por la planko kaj iuj fonaj grafikaĵoj.
Unue vi bezonas rolulon. Vi algluas ĉi tion al dosierujo laŭ via elekto en Unity. Elektu la ludilon kaj aldonu la skripton tie.
Ĝi aspektas tiel:
Diversaj agordoj por la karaktero povas esti faritaj ĉi tie. Vi havas la eblon ĝustigi la saltforton, la kliniĝantan rapidecon en la formo de "kaŭriĝo rapideco", kaj la glatecon de movado. Certiĝu aktivigi Aeran Kontrolon. Uzu la opcion "Kio estas Tero" por agordi la surfacon sur kiu kuras via rolulo. Ekzemple, elektu ĉion ĉi tie kaj poste forigu la ludanton. Elektu kiel supre dekstre mantelon la ludanto.
Tiam estas tri pliaj malplenaj spacoj:
Grunda Kontrolo: Oni kontrolas ĉu la ludanta figuro estas sur la tero.
Plafona Kontrolo: Kiam vi kaŭras, oni faras kontrolon por vidi ĉu estas litkovrilo super via kapo
Por ebligi la kontrolojn, vi bezonas malplenajn objektojn, kiuj determinas, kio estas kie. Kreu unuan objekton per Krei -> Malplena Objekto kaj kopiu ĝin per Ctrl + D. Movu la respektivajn objektojn al la plej supra sekcio de la figuro kaj al la suba sekcio. Nomu la supran objekton Plafonkontrolo kaj la malsupran objekton Terkontrolo.
Trenu ĉi tiujn en la respektivajn fendojn de la ludanto.
Poste, aldonu unu Rigida korpo Aldonu 2D por aldoni fizikon al via karaktero.
Via rolulo devas havi pli altan graviton ol la aliaj ludobjektoj. Do pliigu la graviton al, ekzemple, 3.
Krome, via rolulo ĉiam devas esti rekta kaj ne turniĝi. Tial elektu limojn kaj starigu la rotacion sur la Z-akso.
Poste via rolulo bezonas kolizion, alie ĝi simple falos tra la ekrano. Vi povas labori kun malsamaj koliziantoj laŭ la figuro. Ĉi tio ankaŭ povas fari la ludon pli realisma. Vi povas uzi cirklajn kolizilojn kaj skatolajn koliziojn, ekzemple. Vi havas la eblon aldoni cirklan kolizion. Unue ĝustigu la skatolon kaj aldonu aŭ aranĝu la cirklan kolizilon.
Nun vi povas aldoni vian PlayerMovement-skripton:
Iru al Aldoni Komponanton -> Enigu PlayerMovement kaj elektu Novan Skripton kaj Kreu kaj Aldonu.
Duoble alklaku ĝin por malfermi ĝin en Visual Studio.
Se la skripto estas griza, dekstre alklaku Inspektoron supre kaj elektu Elpurigi reĝimon. Tiam vi povas malfermi la dokumenton per Visual Studio.
La tuto nun aspektas tiel:
Unue necesas referenco de la skripto de PlayerMovement al la signoregilo. Ĉi tio diras al ili, kio devas okazi kun la rolulo.
Vi bezonas la jenan linion:
publika regilo CharacterController2D;
Tiam la Karaktero-Regilo 2D aperas en la Skripto de Movado de Ludanto:
Tie vi povas treni kaj faligi vian skripton de regilo en ĝi.
Ĉu vi malplenus ĝisdatigi () {
regilo.Movi (); Se vi skribus, vi dirus al la sistemo movi vian rolulon.
Sed tio ne sufiĉas. Vi devas specifi, kien vi volas movi vian rolulon, same kiel la direkton kaj rapidon. Por tio necesas la kontrolo de la ludanto. Do vi aldonu jenon:
Por la enigo de la ludilo vi bezonas la enigan klason:
Enigo.GetAxosRaw ("Horizontala")
La valoro kutime estas inter -1 kaj 1. Tio dependas de la enigo de la uzanto.
La maldekstra sago aŭ la A-klavo signifas -1.
La dekstra sago aŭ D signifas 1.
Ĉi tio validas ankaŭ por la regilo.
Vi ankaŭ bezonas la komandon Debug.Log:
Ĉi tiu komando Debug.log sendas mesaĝon al la konzolo.
Ĉe la fino la linio aspektas tiel:
Debug.Log (Input.GetAxisRaw ("Horizontala"));
La konzolo reagas al la nova enigo. Se vi premas la sagoklavojn en la respektivaj direktoj, la konzolo montras jenon:
La skripto nun aspektas tiel:
La sistemo tiam registras la eniron.
La sekva aspekto, kiun ni bezonas, estas la fiksa ĝisdatigo. Per ĉi tiu enigo, la komputilo ĝisdatigas la ekranon per ĉiu kadro.
Vi bezonas la jenan enigon:
malplena FixedUpdate ()
{
// Movu nian rolulon
}
Ĉi tiu sekcio prizorgas la translokigon de ludanto-enigo al la rolulo.
Vi povas forigi malplenan Komencon.
Do vi havas la jenan skripton:
La uzanto-enigo devas esti transdonita de unu funkcio al alia. Por tio vi bezonas variablon.
Vi bezonas la jenan linion:
flosi horizontalaMovo = 0f;
Tiam la rolulo devas esti movita. Vi do skribas la jenon sub FixedUpdate:
regilo.Movo (horizontalaMovo);
Per la variablo (horizontalMove) vi specifas kiom multe la figuro devas esti movita.
Vi ankaŭ devas diri al la sistemo, ke la rolulo ne devas kaŭri aŭ salti.
La unua falsa rilatas al kaŭriĝo kaj la dua falsa al saltado.
regilo.Movo (horizontalaMovo, malvera, malvera);
Nun la rapideco bezonas:
publika flosilo runSpeed = 40f;
Nun vi multobligas la horizontalan enigon kun la runSpeed.
horizontalMove = Enigo.GetAxisRaw ("Horizontala") * runSpeed;
La FixedUpdate ankaŭ devas esti multobligita per la Tempo.fixedDeltaTime:
regilo.Movo (horizontalaMovo * Tempo.fiksitaDeltaTempo, malvera, malvera);
La funkcio determinas, ke la movado estas ĉiam agordita al la sama valoro.
Via finita skripto por la movado aspektos jene:
Fiksa ĝisdatigo signifas, ke la funkcio povas esti nomata sennombraj fojoj sen alia rezulto.
Kiam la figuro falas, ĝi nelonge ŝanĝiĝas al la tero. Por forigi ĉi tion, elektu la Rigidan Korpon 2D de la figuro kaj ŝanĝu la Kolizion-Detekton de Diskreta al Kontinua. Ĉi tiu ĝustigo certigas, ke la figuro ne glitas en la teron.
La saltado
Nun saltado aldoniĝas. La sistemo devas salti la figuron kiam vi premas certan butonon.
Vi bezonas la jenan linion:
if (Enigo. GetButtonDown ("Saltu))
Ĉi tiuj informoj nun devas ankaŭ esti transdonitaj al la areo FixedUpdate. Por tio vi bezonas variablon.
Por tio vi bezonas bulean operatoron. Ĉi tio signifas, ke la rezulto nur povas esti vera aŭ falsa:
bool salto = falsa;
Krome estas la kondiĉoj, ke la butono de salto devas esti premita por ke la rolulo saltu.
Do ĝi devas esti aldonita al la kondiĉo, ke:
salti = true;
La salta variablo aldoniĝas al la fiksa ĝisdatiga areo. Se la klavo ne estas premita, la rolulo ne plu saltu. Do en la fiksita ĝisdatiga areo jump = false; aldonis.
La skripto aspektas tiel:
Nun via figuro saltas.
Vi bezonas fizikan materialon, por ke via figuro ne blokiĝu sur platformoj saltante, sed glate glitas malsupren.
Por fari tion, elektu Krei–> Fizika Materialo 2D en la projekta fenestro
La jenaj agordoj disponeblas:
Agordu Frotadon kaj Fortecon al 0.
Elektu la ludilon kaj trenu la fizikan materialon en la materialan fendon sur la kolizilo.
Se vi uzas pli da koliziantoj, aldonu ĉi tion ankaŭ al la alia kolizianto.
Kiel kaŭzas via rolulo
La enigoj por la roluloj povas esti trovitaj en la agordoj de la projekto Unity.
Elektu la pordegon por saltado kaj alklaku per la dekstra musbutono sur "Saltu". Elektu Duplikatan Arelan Elementon.
Ĉi tio kreas alian enigan opcion por kaŭri vian rolulon.
Alternativa ŝlosilo povas esti difinita por la klavara aranĝo. Jen la Alt-Pozitiva Butono aŭ la Alternativa Pozitiva Butono.
La kaŭro nun devas esti enmetita en la skripton:
En la ĝisdatiga areo: se (Enigo.GetButtonDown ("Kaŭri"))
Bulea faktoro ankaŭ devas esti aldonita:
bool kaŭri = falsa;
Kaŭriĝo aldoniĝas al la areo Fiksa Ĝisdatigo.
Kaŭri ne funkcias same kiel salti. Vi ne volas, ke via figuro kaŭru por momento kaj poste ĉesu. La kaŭro devas finiĝi kiam la butono por kaŭriĝo estas liberigita. Via rolulo devas kaŭri nur kiam vi premas la ŝlosilon.
Nun vi bezonas la jenan linion:
else if (Input.GetButtonUp ("Kaŭri"))
{
kaŭri = falsa;
Vi diras al la sistemo, ke se vi ne premas butonon, via rolulo ne kaŭros.
Nun, kiam vi premas la kaŭran butonon, nenio okazos ĉar kaŭriĝo fariĝas per kuraĝigo.
Por kaŭri funkcii, elektu la kolizion de via rolulo kaj trenu ĝin en la Kaŭri Malŝalti Kolizilon.
Ĉi tio ebligas kaŭriĝon por via figuro. Nun via rolulo taŭgas inter du niveloj. Tamen vi ankoraŭ bezonas kuraĝigon por kaŭri.
Origine afiŝita 2020-04-16 21:22:43.