Zurück   Flashforum > Flash > ActionScript > Spielkonzepte und Spieleprogrammierung

Antwort
 
LinkBack Themen-Optionen Ansicht
Alt 16-11-2006, 15:14   #1 (permalink)
Neuer User
 
Registriert seit: Oct 2006
Beiträge: 10
Figur auswählen und damit agieren

Hallo,

ich möchte ein kleines Adventure programmieren, in dem man von zwei Personen eine auswählen kann.

Hierfür habe ich in einer Variable: Personen [Person_x, /*und*/ Person_y] deklariert, welche auf die mc’s verweisen.

Beide Personen sind am Anfang sichtbar um eine auswählen zu können. Beim jeweiligen darüber-Scrollen erscheint ein Textfeld, welches sich im zweiten SB mit der Person befindet. Das 3., 4. und 5. sind die Personen jeweils von links, rechts und hinten.

Zb. SB1: vorne SB2: vorne+Textfeld* SB3: links SB4: rechts SB5 hinten
Warum? Für Bewegungen wie Arme und Beine habe ich eine extra-Funktion gem8, welche jeweils immer den gleichen Pfad haben: Personen.Body.arm._rotation=(1 bis x)...
(für einfachere Lösungen bin ich deshalb gerne offen)

Die Auswahl sieht ungefähr so aus:

PHP-Code:
if (i==null)  //Variable für Bewegung
{
    
_global.Bewegen=true // solange, bis Person redet
    
_global.varRaum=1// am Anfang beginne ich im ersten Raum
i=Person[1]._x;  // i wird der Stelle der Person zugewiesen 
}

if (
Bewegen==true){
if (
varRaum==1)
/*wenn ich über jeweilige Person scrolle, wird die Variable zugewiesen. Sie soll sich aber erst im zweiten Raum bewegen können*/
{Person_x.vorne.onRollOver=function()
{if ((
bewegen==true)and(Personen<>Person_x)){
    
_global.Personen[1]=Person_y;
    
_global.Personen[2]=Person_x;}}

Person_y.vorne.onRollOver=function()
{if ((
bewegen==true)and(Personen<>Person_y)){
    
_global.Personen[1]=Person_x;
    
_global.Personen[2]=Person_y;}}
/*Person nach vorne holen*/
Person[1].swapDepths(1);
Person[2].swapDepths(0);
}else{
/*Hier wird i und die Gewählte Person der angeklickten Position zugewiesen*/
Person[2]._visible=false;
Raum.HG.onRelease=function(){i=_xmouse;}// prüft Klick im Hintergrund
if (Person[1]._x<i){Person[1]._x+=5;Person[1].gotoAndStop(3);} //links
if (Person[1]._x>i){Person[1]._x-=5;Person[1].gotoAndStop(4);}//rechts
if (Person[1]._x=i){Person[1]._x+=5;Person[1].gotoAndStop(1);}}//vorne ohne Text
}}
Person[1].vorne.onRelease=function()
 
/*.vorne. ist nur die Person um Textfeld seperat prüfen zu können*/

{Person[1].gotoAndStop(2);}
/*zeige Textfeld mit Wahl für Akzeptieren / Ablehnen + _global.Bewegen=false;(auf SB für Person)*/

Person1.textfeld.Ablehnen.onRelease=function() //neue Abfrage
{_global.Bewegen=true;Person[1].gotoAndStop(1);}

Person1.textfeld.Akzeptieren.onRelease=function() //neue Abfrage
{_global.Bewegen=true;
if (
_global.varRaum==1)_global.varRaum=2;
Person1.gotoAndStop(1);Raum.gotoAndStop(varRaum)}
}} 
Mein Problem:

Die Person wird, durch swapdephts nach vorne geholt und dadurch doppelt angezeigt. Einmal steht sie nur da und einmal bewegt sie sich.

Wie kann ich das einfacher – in einem SB – realisieren???
9un6 ist offline   Mit Zitat antworten
Alt 20-11-2006, 15:09   #2 (permalink)
Neuer User
 
Registriert seit: Oct 2006
Beiträge: 10
*verschämthust*

*Strohballenwegfeg*
9un6 ist offline   Mit Zitat antworten
Antwort

Lesezeichen

Themen-Optionen
Ansicht

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks sind an
Pingbacks sind an
Refbacks sind an



Alle Zeitangaben in WEZ +1. Es ist jetzt 18:15 Uhr.

Domains, Webhosting & Vserver von Host Europe
Unterstützt das Flashforum!
Adobe User Group


Copyright ©1999 – 2012 Marc Thiele