Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [inne]FLASH Action Script 3
Forum PHP.pl > Forum > Przedszkole
KrzysiekKCN
Witam. Jako że nigdzie nie mogę znaleźć pomocy, a polskich for na temat Action Scriptów czy też samego flasha jest mało, tak więc postanowiłem zgłosić się do was.

Otóż całość pisana jest w ACTION SCRIPT 3 i nie może być 2.
Mam film flash podzielony na 2 SCENY: Intro oraz Gra

Na scenie intro mam pokazane 3 postacie (przyciski) o nazwach:

tuxhero
winhero
machero

A na scenie gra mam całość gry, gdzie na 2 klatce mam taki fragment kodu który odpowiada za postać którą kierujemy:
[SMARTY] pobierz, plaintext
  1. duplicateMovieClip ("/shmac", "pacman", Number(punkt)+1);
[SMARTY] pobierz, plaintext


Gdzie shmac to nazwa obiektu(movie clipu) w którym mam model 3d postaci.
Mam także shwin oraz shtux, czyli jeżeli fragment wyglądał by następująco:
[SMARTY] pobierz, plaintext
  1. duplicateMovieClip ("/shwin", "pacman", Number(punkt)+1);
[SMARTY] pobierz, plaintext

Sterowali byśmy windowsem na "nóżkach".

A teraz moje pytanie, jak zrobić żeby po kliknięciu na daną postać wczytywała się gra, a sterowało by się postacią z przycisku??

Ja próbowałem tak, lecz nie wyszło:
[SMARTY] pobierz, plaintext
  1. duplicateMovieClip ("/'postac'", "pacman", Number(punkt)+1);
[SMARTY] pobierz, plaintext

Poniższy kod przedstawia przycisk TUX.
[SMARTY] pobierz, plaintext
  1.  
  2. on (release) {
  3. function tux(event:MouseEvent):void
  4. {
  5. var postac = "shtux";
  6. }
  7.  
  8. tuxhero.addEventListener(MouseEvent.CLICK, tux);
  9. setProperty("", _highquality, 2);
  10. play();
  11. }
[SMARTY] pobierz, plaintext


Czy ktoś mógł by mi pomóc? Naprawdę szukałem już wszędzie.
wookieb
Zacznijmy od tego

Cytat
Otóż całość pisana jest w ACTION SCRIPT 3 i nie może być 2.


duplicateMovieClip nie występuje w AS3

on(release) też nie zrobisz w as3.
Popraw kod, bo nie sądzę, żeby ci działał. I tak naprawdę wszystko masz w AS2.

Jestem prawie pewien, że to nie działa
Kod
tuxhero.addEventListener(MouseEvent.CLICK, tux);


Jak dobrze rozumiem, masz już ekran z wyborem postaci i chcesz jedynie ją włączyć do gry.
Otóż po kliknięciu na postać musisz przejść do klatki w której masz kod
Kod
duplicateMovieClip ("/shmac", "pacman", Number(punkt)+1);

(bo rozumiem, że tu zaczyna się sterowanie postacią) i zmienić ten kod na
Kod
duplicateMovieClip ("/"+postac, "pacman", Number(punkt)+1);


No i teraz musisz zadbać o pewien zasięg zmiennej "postac". W pierwszej klatce sceny "gra" utworz zmienną
Kod
var postac = '';


W funkcji tux zmień
Kod
var postac = "shtux";

na
Kod
postac = "shtux";

KrzysiekKCN
Zmieniłem ten kod jednak wyskakują błędy.

Przycisk
  1. on (release) {
  2. postac = "fant1";
  3. setProperty("", _highquality, 2);
  4. play();
  5. }


I tak jeżeli dodam var postac = ''; to wyskakuje:
  1. Aby użyć tej operacji, musisz wyeksportować film w formacie programu Flash 5.
  2. var postac = "";


A jeżeli postac = ''; lub bez tego to błędy wyskakują takie:
  1. Target not found: Target="pacman" Base="_level0"
  2. Target not found: Target="pacman" Base="_level0"
  3. Target not found: Target="pacman" Base="_level0"


Ale gra się włącz i można grać jednak postać jest niewidoczna.

wookieb
Musiałbyś wystawić .fla wraz z potrzebnymi klasami. Błąd wynika z czego innego.
KrzysiekKCN
OK w linku jest gra ^.^
Musze ją mieć na piątek, bo inaczej kumpel będzie miał lekkie kłopoty w szkole.

Tylko na 1 scenie nie mam tych postaci bo zwykle wstawiałem jakaś kropkę, byle działało ^^

Proszę o pomoc i jakieś podpowiedzi.

http://www.speedyshare.com/files/25338058/pacman-pastore.fla
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.