Wywołanie animacji przy kolizji

Tu opis jest zbędny:)

Wywołanie animacji przy kolizji

Postprzez PanBorsuk » 08 Sty 2017, 06:04

Witam. Mam prośbę. Czy ktoś może mi wytłumaczyć co tu nie zagrało? Całą noc próbuje sprawić żeby Player (w trakcie animacji) po zetknięciu się z trampoliną wywołał u niej animacje/
Załączniki
Skrypt.png
Skrypt.png (176.81 KiB) Obejrzany 344 razy
PanBorsuk
 
Posty: 7
Rejestracja: 08 Sty 2017, 05:49
Has thanked: 0 time
Been thanked: 0 time

Re: Wywołanie animacji przy kolizji

Postprzez PanBorsuk » 09 Sty 2017, 14:45

Dziala
UnityEngine.Debug:Log(Object)
Trampolina:OnTriggerEnter2D(Collider2D) (at Assets/Trampolina/Trampolina.cs:22)

Po przeanalizowaniu Okazało się ze zamiast Animator wpisywałem Animation, także literówka. Podsyłam przykładowy kod dla potomnych, gdyby komuś przydarzył się podobny przypadek. Pozdrawiam

public class Trampolina : MonoBehaviour
{

private Animator TrumpController;

void Start()
{
TrumpController = GetComponent<Animator>();

}
private void Update()
{

}
void OnTriggerEnter2D(Collider2D Trampolina69)
{
if(Trampolina69.gameObject.tag == "Player")
Debug.Log("Dziala");
TrumpController.Play("trump work");
}
}
PanBorsuk
 
Posty: 7
Rejestracja: 08 Sty 2017, 05:49
Has thanked: 0 time
Been thanked: 0 time

Komunikacja Skryptów C#

Postprzez PanBorsuk » 17 Sty 2017, 11:20

Witam ponownie. Cieszę się, że jesteście ze mną w tych ciężkich chwilach i wspieracie mnie modlitwą ( ostatnim razem sie udało i Duch Święty zesłał obijawienie ). Mam pytanie jak sprawić by dwa różne skrypty przypisane do dwóch różnych postaci nawiązały dialog. Gdy wykonywana jest animacja skoku przez pierwszego borsuka, drugi borsuk ma cisnąc w niego bejsbolem. Problem jest taki że wciśnięcie przycisku ( mam tylko jeden w założeniu ) sprawia ,że wszystkie animacje wykonują sie naraz
PanBorsuk
 
Posty: 7
Rejestracja: 08 Sty 2017, 05:49
Has thanked: 0 time
Been thanked: 0 time

Re: Wywołanie animacji przy kolizji

Postprzez Pathy » 17 Sty 2017, 12:53

Sprawdź temat z poniższego linku, dotyczy problemu bardzo zbliżonego do twojego. Mam nadzieje, że okaże się pomocny. Możesz opóźnić wykonywanie kodu yield waitforseconds jeśli znasz czas wykonywania się animacji, yield waitforanimation albo wykorzystać liste Queue typu animation i umieściłbyś w środku animacje po kolei jak mają się odtwarzać(to ostatnie nie jestem pewien czy jest możliwe).

http://answers.unity3d.com/questions/37 ... plete.html
Pathy
 
Posty: 20
Rejestracja: 05 Mar 2015, 16:03
Has thanked: 0 time
Been thanked: 0 time

Re: Wywołanie animacji przy kolizji

Postprzez PanBorsuk » 17 Sty 2017, 14:16

Pathy napisał(a):Sprawdź temat z poniższego linku, dotyczy problemu bardzo zbliżonego do twojego. Mam nadzieje, że okaże się pomocny. Możesz opóźnić wykonywanie kodu yield waitforseconds jeśli znasz czas wykonywania się animacji, yield waitforanimation albo wykorzystać liste Queue typu animation i umieściłbyś w środku animacje po kolei jak mają się odtwarzać(to ostatnie nie jestem pewien czy jest możliwe).

http://answers.unity3d.com/questions/37 ... plete.html


Bardziej chodzi mi o to by wykonanie animacji uderzenia, było możliwe jedynie gdy wykonywania jest animacja skoku. Błysneło mi by; do anim while Player play "Skok pana Borsuka" czy coś w tym stylu albo na zasadzie gdy animacja "SpB" jest wykonywania jest prawda i wtedy można wykonać animacje, Problem jest w tym że animacje, które mają na siebie oddziaływać są w osobnych skryptach i tu są jaja. Dzięki za link, może znajdę jakąś wskazówkę.
PanBorsuk
 
Posty: 7
Rejestracja: 08 Sty 2017, 05:49
Has thanked: 0 time
Been thanked: 0 time

Re: Wywołanie animacji przy kolizji

Postprzez dawid621 » 18 Sty 2017, 12:21

Jesli dobrze rozumiem zalozenie tego co chcesz osiagnac to jest to idealne pole do wykorzystania zagniezdzonych w sobie eventow. Mianowicie wywolujesz event w animacji podczas skoku. W metodzie eventu z animacji wywolujesz klasyczny event C# ktory drugi borsuk "subskrybuje" i reaguje na niego w sposob jaki tylko sobie zazyczysz.
dawid621
 
Posty: 76
Rejestracja: 07 Sie 2016, 18:52
Has thanked: 0 time
Been thanked: 0 time

Re: Wywołanie animacji przy kolizji

Postprzez PanBorsuk » 18 Sty 2017, 14:23

Szukałem przykładu zastosowania eventów Dawidzie i niestety na moim poziomie jest to na razie co najmniej nieczytelne :?
Podejmuje jeszcze rozpaczliwe próby zmuszenia skryptu Pałkarza do odczytania Wiadomości wysłanej przez skrypt Trampoliny podczas kolizji z Borsukiem Cannonball`em, tak by mógł podjąć działanie dopiero gdy ta kolizja nastąpi, jednak pojawiają się błędy, których nawet nie rozumiem.

using System.Collections;
using System.Collections.Generic;
using UnityEngine;

public class PalkarzSkrypt : MonoBehaviour {
private Animator PanPalkarz1;
public Trampolina trampo;




void Start()
{
PanPalkarz1 = GetComponent<Animator>();
}

private bool Moszna()
{
if (trampo(SendMessage)); <---
CS1955 C# Non-invocable member cannot be used like a method. (Trampolina to skrypt, do którego chciałem się odwołać)

{
return true; }

else
{
return false;
} <--- c# - Compiler Error Message: CS1513: } expected (dodawałem odejmowałem nawiasy nic...)
}
void Update()
{
if (Input.anyKeyDown) ;
Moszna = true; <--- CS1656 C# Cannot assign to because it is a 'method group' (chciałem by wysłanie wiadomości = true)

PanPalkarz1.Play("Palkarz napierdala nowe");


}



}
Spróbuje poczytać o eventach i delegatach, ta gra to mój poligon próbny stąd taki syf w kodzie. Wybrałem trochę niestandardową jak na pierwsze kroki mechanikę a metody, których używam coż... przynajmniej się staram . Dzięki za pomoc panowie, niech was Borsukowe futerko grzeje w te styczniowe mrozy
PanBorsuk
 
Posty: 7
Rejestracja: 08 Sty 2017, 05:49
Has thanked: 0 time
Been thanked: 0 time

Re: Wywołanie animacji przy kolizji

Postprzez PanBorsuk » 18 Sty 2017, 15:33

Zrobiłem jeszcze inaczej do bólu prościej, postawiłem dwa warunki pałkarzowi jeśli wciśniesz jaki kolwiek guzik oraz spełni sie warunek IsLightsOn (który uwzględniłem w skrypcie Trampolina, który dodany jest do skryptu pałkarza jako SkrypcikTramp) Wal. I Teraz tak... czym są te pustostany? Boolenom brakuje argumentów? Od kiedy się pojawiły pałkarz wpadł w szał i uderza raz za razem bez jakiej kolwiek kontroli :o

Edit: Nie zwraca wartości bo używam void zamiast bool ?
Edit2: i jeśli stworze bool`a który ma się odwołać do voida to będzie bez sensu bo nie jestem w stanie stworzyć warunku, bo void nie zwróci mi żadnej wartości, na którą ewentualnie mógłbym się powołać. Dobrze kombinuje?
Załączniki
z tytułem i przytupem.png
z tytułem i przytupem.png (75.22 KiB) Obejrzany 267 razy
z tytułem.png
z tytułem.png (62.89 KiB) Obejrzany 267 razy
PanBorsuk
 
Posty: 7
Rejestracja: 08 Sty 2017, 05:49
Has thanked: 0 time
Been thanked: 0 time


Wróć do Śmietnik

Kto jest na forum

Użytkownicy przeglądający to forum: Brak zarejestrowanych użytkowników oraz 2 gości