Hľadáme nové posily do ITnetwork tímu. Pozri sa na voľné pozície a pridaj sa k najagilnejšej firme na trhu - Viac informácií.
IT rekvalifikácia. Seniorní programátori zarábajú až 6 000 €/mesiac a rekvalifikácia je prvým krokom. Zisti, ako na to!

Diskusia – 6. diel - Unity (C #) Android: Pohyb, grafika, particles

Späť

Upozorňujeme, že diskusie pod našimi online kurzami sú nemoderované a primárne slúžia na získavanie spätnej väzby pre budúce vylepšenie kurzov. Pre študentov našich rekvalifikačných kurzov ponúkame možnosť priameho kontaktu s lektormi a študijným referentom pre osobné konzultácie a podporu v rámci ich štúdia. Toto je exkluzívna služba, ktorá zaisťuje kvalitnú a cielenú pomoc v prípade akýchkoľvek otázok alebo projektov.

Komentáre
Avatar
Neaktivní uživatel:9.7.2014 21:47

Pár otázek:

  1. Proč používáš Vector3 když rigigbody2D pracuje především s Vector2?
  2. Proč nepoužíváš AddForce funkci pro Flap?
  3. Nešlo by android input zpracovat takto:
if (Input.GetMouseButtonDown (0) || Input.GetKeyDown(KeyCode.Space) || Input.touches.Length > 0)
Editované 9.7.2014 21:47
Odpovedať
9.7.2014 21:47
Neaktivní uživatelský účet
Avatar
vratislavino
Tvůrce
Avatar
Odpovedá na Neaktivní uživatel
vratislavino:10.7.2014 12:00

Ahoj,

  1. Vector3 používám ze zvyku. Samozřejmě se Vector2 bude chovat stejně a měl by brát méně paměti. Nicméně, třeba souřadnici Z ještě použijeme :)
  2. AddForce je jedno mnoha řešení. Je to stejné jako ptát se, proč někdo gravitaci přidává pomocí
velocity.y -= Physics.gravity * Time.deltaTime

a někdo prostě zaškrtne Use Gravity :)

  1. Pokud jde o jednoduchý tap, tvé řešení použít lze. Ale protože počítám s nějakými dalšími nápady od fanoušků, něchávám si mobilní ovládání odděleně, protože pokud budu chtít později pracovat například s možností Touch.phase, jenom by se to pletlo s ovládáním myši a podmínka by se musela dát tam. Mám to raději takhle odděleně, přijde mi to i přehlednější. :)

Ale děkuji za komentář :)

Odpovedať
10.7.2014 12:00
Hlavou teď neprorazíš, ale stojí za to to zkoušet :)
Avatar
Odpovedá na vratislavino
Neaktivní uživatel:10.7.2014 14:30

U dvojky jde spíš o to že tady to takový problém není ale, pokud by player collidoval s jinými objekty tak by to mohlo dělat problémy, http://gamedevelopment.tutsplus.com/…e--cms-21418 jedná se sice o 3D Unity ale podobné věci to může způsobovat i ve 2D.

Odpovedať
10.7.2014 14:30
Neaktivní uživatelský účet
Avatar
vratislavino
Tvůrce
Avatar
Odpovedá na Neaktivní uživatel
vratislavino:10.7.2014 15:51

Nikdy jsem se s takovým problémem nesetkal :) když jsem programoval volleyball, tak jsem podle Z souřadnice měnil velikost míče a zároveň jsem díky tou porovnával, jestli to přeletělo síť. Pokud používáš při detekování kolize přes OverlapCircle depth (myslim, že je to 3. parametr), nemělo by to dělat problémy :)

Odpovedať
10.7.2014 15:51
Hlavou teď neprorazíš, ale stojí za to to zkoušet :)
Avatar
tomasd49
Tvůrce
Avatar
tomasd49:18.1.2015 19:06

hezký tutoriál i když v textové podobě by byl lepší :)
Když na začátku přidáváš pozadí do scény, má jako typ textury "texturu" nebo "Sprite(2D and UI)"? Když jsme ho měl defaultně jako texturu, tak mi nešel přidat do scény...

Editované 18.1.2015 19:06
 
Odpovedať
18.1.2015 19:06
Avatar
vratislavino
Tvůrce
Avatar
Odpovedá na tomasd49
vratislavino:19.1.2015 0:31

Ahoj, díky :) už jsem na to někde odpovídal, Unity je víc klikací než písemný, proto mi přijde video lepší. Když jde o 2D prostředí, vše se staví na Spritech.
Když zakládáš projekt, je tam nastavení na 2D už při zakládání, to ti při importu udělá vždycky z obrázku sprite. Pokud nastavíš na 3D, bude se defaultně přidávat jako Texture, potom to půjde jen jako textura u materiálu (popř nějaký GUITexture), ale pokud chceš samotný obrázek, musíš to přehodit na Sprite :)

Odpovedať
19.1.2015 0:31
Hlavou teď neprorazíš, ale stojí za to to zkoušet :)
Avatar
davidzita.wolf:11.2.2015 14:49

ahoj. Moho by si sem pridat tie textury na stiahutie. Alebo spravit tutorial ako spravit vlasnu texutru

 
Odpovedať
11.2.2015 14:49
Avatar
vratislavino
Tvůrce
Avatar
Odpovedá na davidzita.wolf
vratislavino:11.2.2015 15:32

Ahoj, už u prvního dílu v komentářích je odkaz na použitou grafiku :)
https://drive.google.com/…QmNKVlk/view

Odpovedať
11.2.2015 15:32
Hlavou teď neprorazíš, ale stojí za to to zkoušet :)
Avatar
Matěj Machotka:9.12.2015 19:37

Ahoj, od Unity 5.0 je potřeba v kódu vyměnit řádek:
Vector3 vel = rigidbody2D.ve­locity; ZA: Vector3 vel = GetComponent<Ri­gidbody>().ve­locity;
VS mi už nehlásí chyby, ale Unity hlásí:
MissingComponen­tException: There is no 'Rigidbody' attached to the "Player" game object, but a script is trying to access it. You probably need to add a Rigidbody to the game object "Player". Or your script needs to check if the component is attached before using it. UnityEngine.Ri­gidbody.get_ve­locity () (at C:/buildslave/u­nity/build/ar­tifacts/genera­ted/common/mo­dules/Dynamic­sBindings.gen­.cs:784)
PlayerMove1.Update () (at Assets/Scripts/Pla­yerMove1.cs:24)
Tušil by někdo proč?

Odpovedať
9.12.2015 19:37
Hranice mezi šíleností a genialitou je malá, ale každý nápad se zdá být zezačátku šíleností.
Avatar
David
Člen
Avatar
David :9.12.2015 22:02

podle té chyby bych neřekl, že je problém v kodu, ale tím že jsi asi zapomněl na objekt, který se jmenuje Player dát komponentu Rigidbody a tím že ji v kodu využíváš tak vzniká chyba, ale nejsem si jistý

 
Odpovedať
9.12.2015 22:02
Robíme čo je v našich silách, aby bola tunajšia diskusia čo najkvalitnejšia. Preto do nej tiež môžu prispievať len registrovaní členovia. Pre zapojenie sa do diskusie sa zaloguj. Ak ešte nemáš účet, zaregistruj sa, je to zadarmo.

Zatiaľ nikto nevložil komentár - buď prvý!