Zurück   Flashforum > Flash > ActionScript > ActionScript 3

Antwort
 
LinkBack Themen-Optionen Ansicht
Alt 28-07-2010, 19:17   #76 (permalink)
Neuer User
 
Registriert seit: Jun 2010
Beiträge: 62
wollte es mal Testen und bekam diesen Fehler:
A super statement can be used only inside class instance constructors. super(type, false, false);

noch eine Frage zu dem dispatch event, wie erkenne ich dort wer welcher button ist? um ihnen die richtigen befehle zu zu teilen?
Super_Günther ist offline   Mit Zitat antworten
Alt 28-07-2010, 19:54   #77 (permalink)
+ Zimt & Zucker
 
Registriert seit: Mar 2006
Ort: hinterm Mond gleich links
Beiträge: 2.040
hmmm, da ist irgendwas schief gegangen, liegt wohl daran, das vor dem super() Aufruf noch was steht, sorry, hatte den Code nicht noch mal getestet, mein Fehler.

Zitat:
Zitat von Super_Günther Beitrag anzeigen
noch eine Frage zu dem dispatch event, wie erkenne ich dort wer welcher button ist? um ihnen die richtigen befehle zu zu teilen?
Damit uns das völlig egal ist, haben wir extra die Klasse RoomEvent erstellt.
Klingt verwirrend.

Mal ganz allgemein betrachtet, wollen wir ja, das der Raum betreten wird.
Das kann auf vielerlei Arten passieren:
- durch Betätigen eines der Knöpfe
- wenn man "/join <raumname>" in das chatfenster eingibt
- Wenn man eine Einladung bekommt, in einen Raum zu kommen und diese annimmt
- und und und und und

Ob ihr das alles in euer Chatprogramm einbauen wollt, weiß ich nicht.
Jedenfalls müsst ihr nun dafür nur ein solches Event dispatchen um dieses Zentral in einem Eventhandler ab zu arbeiten.

Wer das Event auslöst, (ob "los" Knopf oder TextFeld oder der liebe Gott oder sonst wer) ist dabei völlig egal. Wichtig ist, das man - wenn das Event auftritt - weiß, in welchen Raum gegangen werden soll. Und diese Information haben wir ja in das Event gepackt.

Hier mal abschließend wie das ganze dann so grob funktionieren könnte:
PHP-Code:
package 
{
    
import flash.display.Sprite;
    
import flash.events.Event;
    
import flash.events.MouseEvent;
    
    
/**
     * Zum testen...
     * @author Günther & milchreis
     */
    
public class Test extends Sprite 
    
{
        
        public function 
Test():void 
        
{
            
            if (
stageinit();
            else 
addEventListener(Event.ADDED_TO_STAGEinit);
        }
        
        private function 
init(e:Event null):void 
        
{
            
removeEventListener(Event.ADDED_TO_STAGEinit);
            
            
//dummy daten
            
var testArray:Array = new Array("Willkommen/eingang""ZockerEcke/spiele""Ab in den Süden/urlaub""AS & Co/flash");
            var 
testString:String "Willkommen/eingang";
            
            for (var 
i:int 0testArray.lengthi++)
            {
                var 
raumKnopf:RoomButton = new RoomButton(testArray[i].split("/")[0], testArray[i].split("/")[1]);
                
raumKnopf.* (raumKnopf.height) +2;
                
raumKnopf.2;
                
raumKnopf.addEventListener(RoomEvent.JOINraumWechsel);
                
addChild(raumKnopf);
            } 
        }
        
        private function 
raumWechsel(e:RoomEvent):void 
        
{
            
trace("Autrag an den Server: Bitte in Raum \"" e.raum "\" gehen. Danke!");
            
            
//hier sollte jetzt die Anfrage an den Server abgeschickt werden.
        
}
    }  

PHP-Code:
package  
{
    
import flash.display.Sprite;
    
import flash.events.MouseEvent;
    
import flash.text.TextField;
    
import flash.display.Bitmap;
    
import flash.text.TextFieldAutoSize;
    
    
/**
     * Ein Button der zu einem gewünschten Raum führt
     * @author Günther & milchreis
     */
    
public class RoomButton extends Sprite
    
{
        [
Embed(source='../assets/los.gif')]
        private static var 
LosGrafik: Class;
        
        private var 
labelText:TextField;
        private var 
rechteckHG:Sprite;
        private var 
los:Sprite;
        private var 
_raum:String;
        
        public function 
RoomButton(label:Stringraum:String
        {
            
_raum raum;
            
            
rechteckZeichnen();
            
            
labelText = new TextField();
            
labelText.htmlText "<b>" label "</b>";
            
labelText.textColor 0xFFFFFF;
            
labelText.selectable false;
            
labelText.multiline false//damit es nicht zu hoch wird
            
labelText.autoSize TextFieldAutoSize.LEFT;//damit lange Namen nicht abgeschnitten werden
            
labelText.3;
            
labelText.15;
            
            
los = new Sprite();
            
los.addChild(new LosGrafik());
            
los.150;
            
los.1;
            
            
los.addEventListener(MouseEvent.CLICKklick);
            
            
addChildlos );
            
addChild(labelText);
        }
        
        private function 
klick(e:MouseEvent):void 
        
{
            
dispatchEvent(new RoomEvent(RoomEvent.JOIN,_raum));
        }
        
        private function 
rechteckZeichnen():void
        
{
            
rechteckHG = new Sprite();
            
rechteckHG.graphics.beginFill(0x1E6900);
            
rechteckHG.graphics.drawRect(0,0,200,50);    
            
rechteckHG.graphics.endFill();
            
addChild(rechteckHG);
        }  
    }

PHP-Code:
package  
{
    
import flash.events.Event;
    
    
/**
     * ...
     * @author milchreis
     */
    
public class RoomEvent extends Event
    
{
        public static const 
JOIN:String "join";
        private var 
_raum:String;
        
        public function 
RoomEvent(type:Stringraum:String
        {
            
super(typefalsefalse);
            
_raum raum;
        }
        
        public function 
get raum():String 
        

            return 
_raum
        }
    }

__________________
anbei Grüße vom milchreis: Viva la [Silb]
"Selbst wenn uns nur noch der Zynismus treibt, wir werden trotzdem einfach immer weiter gehen!"

[Von null auf Flash in einem Klick.] <<< klick
milchreis ist offline   Mit Zitat antworten
Alt 28-07-2010, 20:00   #78 (permalink)
Neuer User
 
Registriert seit: Jun 2010
Beiträge: 62
genial genau so wie ich es mir Vorgestellt habe, noch was kann man wenn man auf den Text Willkommen oder Zockerecke klickt einen anderen Text dadrunter anzeigen lassen? im sinne von einer Beschreibung des Raumes?
Super_Günther ist offline   Mit Zitat antworten
Alt 28-07-2010, 20:52   #79 (permalink)
+ Zimt & Zucker
 
Registriert seit: Mar 2006
Ort: hinterm Mond gleich links
Beiträge: 2.040
Zitat:
Zitat von Super_Günther Beitrag anzeigen
noch was kann man wenn man auf den Text Willkommen oder Zockerecke klickt einen anderen Text dadrunter anzeigen lassen? im sinne von einer Beschreibung des Raumes?
ja klar. Das sollte mit dem was du bis hier hin gelernt hast machbar sein.

eventuell brauchst du noch die methode removeChild();
deren Zweck erklärt sich aber von selbst.
Es ginge wieder von Vorne lso: erstmal einzeln lauffähig machen und dann in das bestehende integrieren.

Probiere erstmal eine Weile rum. Wenn es nicht geht, kannst du zu dem konkreten Problem ein neues Thema aufmachen, in dem dir dann sicherlich geholfen wird.

__________________
anbei Grüße vom milchreis: Viva la [Silb]
"Selbst wenn uns nur noch der Zynismus treibt, wir werden trotzdem einfach immer weiter gehen!"

[Von null auf Flash in einem Klick.] <<< klick
milchreis ist offline   Mit Zitat antworten
Alt 28-07-2010, 21:20   #80 (permalink)
Neuer User
 
Registriert seit: Jun 2010
Beiträge: 62
ok recht herzlichen dank milchreis
Super_Günther 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


Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
Einfach Button Navigation wirft Fragen auf!! JasperJohns Flash Einsteiger 10 14-11-2006 12:40
Tree-Navigation: Navigation und Inhalt in einer XML-Datei? theimann Flex allgemein 0 10-11-2006 08:09
Fragen zu Navigation deMischa Flash MX 2004 1 28-09-2005 19:59
2 Fragen bezüglich Links/Navigation dingles Flash MX 2004 8 19-06-2005 12:16
Fragen zu HTML-Seiten mit Flash-Navigation finkenmann HTML und CSS 1 19-05-2004 16:08


Alle Zeitangaben in WEZ +1. Es ist jetzt 13:08 Uhr.

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


Copyright ©1999 – 2012 Marc Thiele