NukeBoards

Pomoc - [MMF2] Klonowanie obiektu wraz ze zdarzeniami

Ringo - 09-04-2015, 16:37
: Temat postu: [MMF2] Klonowanie obiektu wraz ze zdarzeniami
Czy jest możliwe klonowanie obiektu aktywnego wraz z jego kolizjami itp.
np. zrobiłem przeciwnika który posiada życie (zwykły counter "Horizontal Bar") i dla przykładu co 3s odejmuje mu 10 zdrowia to czy można z klonować ten obiekt wraz z jego eventami? Ponieważ gdybym miał wszystkie eventy przeciwnika ciągle kopiować ręcznie zajęło by to za dużo czasu :/

Z góry dzięki :)
Neoqueto - 09-04-2015, 17:10
:
Tak, (trzecia opcja), ale ponadto możesz zrobić kilka innych trików.

Po pierwsze, grupy obiektów: http://i.imgur.com/mcG6nGr.png

Odnosisz się do nich w zdarzeniach jak do zwykłych obiektów, a do indywidualnych obiektów zawsze możesz dodać unikalne zdarzenia. Przyda (między innymi do warunkowego wykluczania obiektów z grupy) się przypisanie wszystkim obiektom z danej grupy zmiennych Alterable Value (najlepiej sobie nazwij, pod kartą z ikoną [A-Z], taką zmienną, która będzie odpowiadać za identyfikator danego obiektu, np. zmienna o nazwie postac = 1, inny obiekt - postac = 3, przy czym wszystkie te obiekty nadal będą w tej samej grupie. W zdarzeniach będzie to wyglądać tak:
1
+ Postac of Group.Player = 5
+ Every 01-00
+ Coś jeszcze
• Zrób coś


Po drugie, możesz wybierać wszystkie obiekty w ramce po samej zmiennej: http://i.imgur.com/0rV8RHW.png

Wtedy musisz nadać wszystkim obiektom taką zmienną Alterable Value, która będzie służyć za identyfikator, każdy dla innej postaci. Tak, jak w opcji pierwszej. Pamiętaj przy tym, że nigdy nie będziesz mógł wykorzystać tej samej zmiennej dla innego obiektu (chodzi o numer zmiennej w kolejności na liście, nie o nazwę!), a co za tym idzie, żaden obiekt nigdy nie będzie mógł mieć tej samej zmiennej ustawionej na 0. Trochę overkill.

Po trzecie, Behaviors: http://i.imgur.com/TCtMjxF.png

To jest najbliższe temu, czego szukasz (kopiowanie zdarzeń wraz z obiektami), ale może być trudne w ogarnięciu. Generalnie, przypisujesz unikalne zdarzenia dla każdego obiektu (i ich instancji), które zachowują się przy klonowaniu tychże. Masz jakby osobny edytor zdarzeń dla każdego z obiektów. Są nieco ograniczone, dlatego lepiej nie używać ich do super skomplikowanych rzeczy, które odnoszą się do wielu zewnętrznych obiektów. Tutaj więcej o nich (Eng): http://www.clickteam.com/..._Behaviours.pdf

Po czwarte, trik ze skopiowaniem ramki, dodaniem obiektu#2, wybraniem Replace by another object ( http://i.imgur.com/OmeO6Q1.png ) na obiekcie#1, który już posiada zdarzenia, wybraniem tam obiektu#2, zatwierdzeniem, kliknięciem na ikonę obiektu#2 na górnym pasku edytora zdarzeń, aby pokazać zdarzenia z nim związane, skopiowaniu ich i wklejeniu do oryginalnej ramki, na końcu usunięciu skopiowanej. Trochę overkill.

Do pasków życia przypisanych obiektom przyda ci się znajomość pętli, albo też pętli ForEach (wtyczka). Albo chociaż żebyś miał na stałe jakoś przypisany odpowiedni pasek do odpowiedniego obiektu i odpowiednią ilość pasków do odpowiedniej ilości obiektów, co ja ci będę tu gadał :P .

Nie zapomnij od przyznaniu punktu Pomógł jeśli pomogłem.