Aide - Recherche - Membres - Calendrier
Version complète : passer d'une vue a l'autre en AS3
Centre de Formation Flash - Forums Adobe Flash > Rich media et intégration > Flex
chychoun
Slt

Je sais pas si c moi mais je trouve que la doc flex manque d'exemple
de code pour les composants, du coup je suis obligé de venir ici.

Voila je veux changer de vue lorsque l'on clique sur le bouton.
en mxml on peut ecrire :

click="_myAppli.selectedChild=backoffice;"

mais je cherche la facon de le faire dans une classe :

this._myAppli.selectedChild(this._backoffice.id)

this._appli:ViewStack
this._backoffice:Panel

Voici l'architecture :

CODE
<mx:ViewStack id="_myAppli" width="700" height="500" borderStyle="none" horizontalCenter="0" verticalCenter="1">
    <mx:Canvas label="View 1" width="780" height="600" id="connexion">
    ...
    </mx:Canvas>
    <mx:Panel id="backoffice" creationComplete="init()" title="PixLP :: BackOffice" x="0" y="0" width="100%" height="100%" layout="absolute">
        ...



Merci
Tonic
Salut,

plutôt que de nous balancer des bribe de code, on peut voir la classe AS3 que tu as essayé de mettre en oeuvre pour piloter ton interface?

Sinon, juste une question, pour ne pas le faire en mxml?
chychoun
Je sais pas comment. Quand je clique sur le bouton je ne vais pas tout
de suite sur mon autre vue, je me connect a la base verifie que le mot de passe
est bon dans que c bon je vais sur ma prochaine vue.

Voici la classe :
CODE
package Pixlp {
        
    import mx.controls.TextInput
    import mx.controls.Button
    import mx.containers.ViewStack
    import mx.containers.Panel
    import flash.events.MouseEvent
    import Pixlp.Requete    
                
    public class Login {    
        
        public var _login:TextInput
        public var _pwd:TextInput
        public var _btnLog:Button
        public var _appli:ViewStack
        public var _backoffice:Panel
        
        private var _response:Object
        
        public function Login(aLogin:TextInput, aPwd:TextInput, aBtnLog:Button, aApply:ViewStack, aBackOffice) {            
            
            this._appli = aApply
            this._backoffice = aBackOffice
            this._login = aLogin
            this._pwd = aPwd
            this._btnLog = aBtnLog
            
            //if (event.keyCode == Keyboard.ENTER )


            this._btnLog.addEventListener(MouseEvent.MOUSE_UP, checkLogin)            

        }
        
        private function checkLogin(event:MouseEvent):void {
            var myUrl:String = "http://www.pixlp.com/admin/fx_login.php?login="+this._login.text+"&pwd="+this._pwd.text
            var myRequest:Requete = new Requete(myUrl, this)            
        }    
        
        public function callBackRequest(aObj:Object):void {
            trace(aObj.connexion)
            if (aObj.connexion) {
                this._appli.selectedChild(this._backoffice.id)
            } else {
                trace("mauvais login")
            }
        }        
    }
    
}

Tonic
Et c'est quoi l'erreur?

Tu as bien les bonnes références vers tes composants?
chychoun
Bonjour,

Oui ca fonctionne bien pour le login et le pass

Voici la ligne concernée :
this._appli.selectedChild(this._backoffice.id)

et l'erreur :
1195: Tentative d'accès à la méthode inaccessible selectedChild, via la référence de type static mx.containers:ViewStack.


Je cherche a faire la meme chose que ca mais dans ma classe :
click="_appli.selectedChild=backoffice;"

Mais je connais pas la synthaxe et il n'ya pas d'exmple dans la doc
Fusion
CITATION(chychoun @ Jul 9 2007, 11:23 AM) *
Bonjour,

Oui ca fonctionne bien pour le login et le pass

Voici la ligne concernée :
this._appli.selectedChild(this._backoffice.id)

et l'erreur :
1195: Tentative d'accès à la méthode inaccessible selectedChild, via la référence de type static mx.containers:ViewStack.
Je cherche a faire la meme chose que ca mais dans ma classe :
click="_appli.selectedChild=backoffice;"

Mais je connais pas la synthaxe et il n'ya pas d'exmple dans la doc


selectedChild est une propriété icon_cool.gif
dada
Salut,
CITATION(chychoun @ Jul 9 2007, 11:23 AM) *
this._appli.selectedChild(this._backoffice.id)

selectedChild est une propriété virtuelle, pas une méthode !
CITATION
selectedChild property

selectedChild:Container [read-write]
A reference to the currently visible child container. The default is a reference to the first child. If there are no children, this property is null.

Note: You can only set this property in an ActionScript statement, not in MXML.


This property can be used as the source for data binding.


Edit : grillé par Fusion wink.gif
chychoun
Ok donc j'utilise pas la bonne methode
mais est ce que quelqu'un peut me dire
comme je fais pour changer de vue icon_cry.gif icon_cry.gif icon_cry.gif

Parce que je trouve rien je suis train de tester toutes les methodes
de viewstack rien ne fonctionne

je m'y prends comme un manche
Tonic
CODE
tonviewStack.selectedChild=tonObjet;


-> ton objet est l'objet que tu veux voir (c'est bien l'objet que l'on passe en paramètre, et non son nom ni son id).
chychoun
tonic gourou.gif gourou.gif gourou.gif
ca fonctionne effectivement je me tue a donner une reference qui n'est pas la bonne
merci encore pour ton aide
je fais pas assez attention icon_redface.gif

Merci aussi aux autres
Ceci est une version "bas débit" de notre forum. Pour voir la version complète avec plus d'informations, la mise en page et les images, veuillez cliquer ici.
Invision Power Board © 2001-2008 Invision Power Services, Inc.