Zobrazit předchozí téma :: Zobrazit následující téma |
Autor |
Zpráva |
upir102
Založen: 21. 09. 2015 Příspěvky: 9
|
Zaslal: 21. září 2015, 21:48:36 Předmět: Unity 5 sprite render a box collider 2D |
|
|
Ahojte ,
vytváram 2D hru a narazil som na jeden problém a neviem si s ním už rady.
Mám postavu , ktorá sa pohybuje po obrazovke s animáciou vytvorenou cez spriterender a cieľom je ,že keď prejde cez boxcollider2D mala by sa zmeniť na inú animáciu spriterender ale nefunguje to. Vôbec nereaguje na to , že prešla cez collider ale keď si do scriptu dám výpis debug.log("prešiel ") , tak vypíše že prešiel. A nevypisuje ani žiadnu chybu .
Má niekto s tým skúsenosti ?
Ďakujem za každú radu . |
|
Návrat nahoru |
|
|
pcmaster
Založen: 28. 07. 2007 Příspěvky: 1824
|
Zaslal: 22. září 2015, 08:28:45 Předmět: |
|
|
[OT]Skúsenosti nemáme, ale všimni si, ako sa správne píšu medzery okolo interpunkčných znamienok (nikdy nie PRED, vždy ZA )[/OT]
Aj tak si napísal dosť málo, aby sme vedeli, čo máš ako pozapájané... _________________ Off-topic flame-war addict since the very beginning. Registered since Oct. 2003!
Interproductum fimi omne est. |
|
Návrat nahoru |
|
|
upir102
Založen: 21. 09. 2015 Příspěvky: 9
|
Zaslal: 22. září 2015, 12:06:48 Předmět: |
|
|
Ano píšu sa pred, ďakujem za upozornenie
Podstata je, že ak postava prejde cez collider zmení sa animácia.A animácie sú roboné cez sprite render .
Zo začiatku som to chcel spraviť cez animation ale nejdú nastaviť sprite animácie s hodnoty 2 na 1 (Unity 4) alebo ako legacy (Unity 5).
Preto som sa rozhodol robiť cez Animator Controller .V Animator-e som prepojil animáciu v pokoji a animáciu po prejdení cez collider . A na postave mám tento script :
function OnTriggerEnter2D (Other : Collider2D){
Debug.Log("prešiel");
if(Other.gameObject.tag == "p"){anim.SetTrigger ("c"); } } |
|
Návrat nahoru |
|
|
abuki
Založen: 31. 07. 2012 Příspěvky: 507 Bydliště: Praha
|
Zaslal: 23. září 2015, 07:49:59 Předmět: |
|
|
Já tomu teda moc nerozumim.
Ten skript by mě fungovat, pokud máš všecko ostatní nastavení správně - správně nastavený animator reagující na trigger _________________ Twitter @abukac
www.amanita-design.net
www.circusatos.com |
|
Návrat nahoru |
|
|
]semo[
Založen: 29. 07. 2007 Příspěvky: 1526 Bydliště: Telč
|
Zaslal: 23. září 2015, 08:36:00 Předmět: |
|
|
A to ostatní teda funguje? Zkus zavolat "anim.SetTrigger ("c");" někde jinde, třeba na stisk tlačítka. _________________ Kdo jede na tygru, nesmí sesednout.
---
http://www.inventurakrajiny.cz/sipka/
Aquadelic GT, Mafia II, simulátory |
|
Návrat nahoru |
|
|
upir102
Založen: 21. 09. 2015 Příspěvky: 9
|
Zaslal: 23. září 2015, 16:17:26 Předmět: |
|
|
A ano chyba bola v jednom parametri, teda mal som iba jeden paramter pre jednu animáciu. Už to funguje a reaguje na trigger. Ale má to jednu chybu, ktorú chcem ošetriť .
Postava o ktorej som písal sa generuje každých 10 sekúnd nová a potom zanikne. A keď prejde cez collider zmení animáciu, lenže u mňa to funguje tak, že ked sa vygeneruje postava prebehne prvá animácia hned za ňou aj druhá animácia a zas sa prehá prvá a druhá animácia prebehne až keď prejde cez collider, funguje to už ako má. Vedel by mi poradiť niekto ako zabránim aby na začiatku sa prehrala druhá animácia ale aby sa prehrávala iba prvá ?
Kontroloval som či tam nie je aj druhý collider na začiatku a nie je.
Ďakujem za každú radu. |
|
Návrat nahoru |
|
|
abuki
Založen: 31. 07. 2012 Příspěvky: 507 Bydliště: Praha
|
Zaslal: 23. září 2015, 17:17:35 Předmět: |
|
|
Tvoje popisování mi přijde bohužel trochu zmatené.
Hoď sem obrázek jak máš udělanou hierarchii, ten skript a jak je nastavenej animator.
Pak ti může někdo poradit. _________________ Twitter @abukac
www.amanita-design.net
www.circusatos.com |
|
Návrat nahoru |
|
|
upir102
Založen: 21. 09. 2015 Příspěvky: 9
|
Zaslal: 23. září 2015, 18:06:28 Předmět: |
|
|
Obrázok je tu
[img]http://www.upnito.sk/imggal.php?viewGallery=241db6706fd1b25682491e42649a6630[/img]
A script je tu
#pragma strict
var anim : Animator;
function Start ()
{
anim =GetComponent("Animator");
}
function OnTriggerEnter2D (Other : Collider2D){
if(Other.gameObject.tag == "triger"){
Debug.Log("prešiel");
anim.SetTrigger ("Bitka");
}
} |
|
Návrat nahoru |
|
|
abuki
Založen: 31. 07. 2012 Příspěvky: 507 Bydliště: Praha
|
Zaslal: 23. září 2015, 19:36:15 Předmět: |
|
|
Jo tak to je tím, že máš ten trigger v animatoru zaškrtnutej.
Teď jsem si to i oveřil v editoru - mělo by stačit ty triggery odškrtnout. _________________ Twitter @abukac
www.amanita-design.net
www.circusatos.com |
|
Návrat nahoru |
|
|
upir102
Založen: 21. 09. 2015 Příspěvky: 9
|
Zaslal: 23. září 2015, 22:41:54 Předmět: |
|
|
Ďakujem veľmi pekne , už to funguje |
|
Návrat nahoru |
|
|
|