startdrag();

Flash Gordon

Membre confirmé
29 Août 2008
428
65
Paumé dans un paquetage.
Yop les devs ;).

Dites moi, en AS3, j'ai l'impression qu'un startDrag ne modifie pas la position d'un objet... regardez :

Bloc de code:
var r1:r = new r;
var p1:p = new p;
var o1:o = new o;
o1.x = 10;
o1.y =10;
p1.x = 10
p1.y = 150
r1.x =10
r1.y = 300
addChild(r1);
addChild(p1);
addChild(o1);

if (r1.x > o1.x && o1.x > p1.x && p1.x < o1.x && p1.x < r1.x ) {
	trace("tu as gagné");
}

o1
r1
p1.addEventListener(MouseEvent.MOUSE_DOWN, onAppuie);
function onAppuie(e:MouseEvent):void{
	p1.startDrag();
}

r1.addEventListener(MouseEvent.MOUSE_DOWN, onAppuies);
function onAppuies(e:MouseEvent):void{
	r1.startDrag();
}

o1.addEventListener(MouseEvent.MOUSE_DOWN, onAppuiez);
function onAppuiez(e:MouseEvent):void{
	o1.startDrag();
}

o1.addEventListener(MouseEvent.MOUSE_UP, onRelache);
function onRelache(e:MouseEvent):void{
	o1.stopDrag();
}

r1.addEventListener(MouseEvent.MOUSE_UP, onRelaches);
function onRelaches(e:MouseEvent):void{
	r1.stopDrag();
}

p1.addEventListener(MouseEvent.MOUSE_UP, onRelachez);
function onRelachez(e:MouseEvent):void{
	p1.stopDrag();
}

là, les lettres apparaisent a differents endroits sur la scène. Ce code, devrait faire en sorte que lorsqu'on deplace les lettres aux bons endroits, ça trace "tu as gagné" mais ça ne trace rien... j'en viens donc à la conclusion que le startDrag ne sauvegarde pas les postions x et y de l'objet déplacé ?

Car en faisant ça : quand je teste l'anim, ça trace bien "tu as gagné donc le probleme de vient pas dautre chose que le Startdrag ...


Bloc de code:
var r1:r = new r;
var p1:p = new p;
var o1:o = new o;
o1.x = 10;
o1.y =10;
p1.x = 20
p1.y = 150
r1.x = 30
r1.y = 300
addChild(r1);
addChild(p1);
addChild(o1);

if (r1.x > o1.x && o1.x > p1.x && p1.x < o1.x && p1.x < r1.x ) {
	trace("tu as gagné");
}

o1
r1
p1.addEventListener(MouseEvent.MOUSE_DOWN, onAppuie);
function onAppuie(e:MouseEvent):void{
	p1.startDrag();
}

r1.addEventListener(MouseEvent.MOUSE_DOWN, onAppuies);
function onAppuies(e:MouseEvent):void{
	r1.startDrag();
}

o1.addEventListener(MouseEvent.MOUSE_DOWN, onAppuiez);
function onAppuiez(e:MouseEvent):void{
	o1.startDrag();
}

o1.addEventListener(MouseEvent.MOUSE_UP, onRelache);
function onRelache(e:MouseEvent):void{
	o1.stopDrag();
}

r1.addEventListener(MouseEvent.MOUSE_UP, onRelaches);
function onRelaches(e:MouseEvent):void{
	r1.stopDrag();
}

p1.addEventListener(MouseEvent.MOUSE_UP, onRelachez);
function onRelachez(e:MouseEvent):void{
	p1.stopDrag();
}

Merci de m'éclairer là dessus au plus vite :love::love:

ciao :zen:
 

tatouille

Vétéran
1 Juin 2004
5 174
494
Stanford CA
a mon avis c'est ton test qui merde et puis dans tu dois trace dans l'event trigger

Bloc de code:
import flash.display.Sprite;
import flash.events.MouseEvent;

public interface draggableItem {
    function onMouseDown(event:MouseEvent):void;
    function onMouseUp(event:MouseEvent):void;
}

public class draggableSprite extends Sprite implements draggableItem {
    private var _aSprite:Sprite;
    
    public function draggableSprite(aSprite:Sprite) {
        _aSprite = aSprite;
        addChild(_aSprite);
        _aSprite.addEventListener(MouseEvent.MOUSE_DOWN, onMouseDown);
        _aSprite.addEventListener(MouseEvent.MOUSE_UP, onMouseUp);
    }
    
    public function onMouseDown(event:MouseEvent):void {
        _aSprite.startDrag();
    }

    public function onMouseUp(event:MouseEvent):void {
        _aSprite.stopDrag();
    }
}
quand tu pourras ecrire ca tu pourras mettre confirmer AS3

j'ai mis un sprite ds le constructeur mais la logic veut que tu extends
draggableSprite

Yop les devs ;).

Dites moi, en AS3, j'ai l'impression qu'un startDrag ne modifie pas la position d'un objet... regardez :

Bloc de code:
var r1:r = new r;
var p1:p = new p;
var o1:o = new o;
o1.x = 10;
o1.y =10;
p1.x = 10
p1.y = 150
r1.x =10
r1.y = 300
addChild(r1);
addChild(p1);
addChild(o1);

if (r1.x > o1.x && o1.x > p1.x && p1.x < o1.x && p1.x < r1.x ) {
    trace("tu as gagné");
}

o1
r1
p1.addEventListener(MouseEvent.MOUSE_DOWN, onAppuie);
function onAppuie(e:MouseEvent):void{
    p1.startDrag();
}

r1.addEventListener(MouseEvent.MOUSE_DOWN, onAppuies);
function onAppuies(e:MouseEvent):void{
    r1.startDrag();
}

o1.addEventListener(MouseEvent.MOUSE_DOWN, onAppuiez);
function onAppuiez(e:MouseEvent):void{
    o1.startDrag();
}

o1.addEventListener(MouseEvent.MOUSE_UP, onRelache);
function onRelache(e:MouseEvent):void{
    o1.stopDrag();
}

r1.addEventListener(MouseEvent.MOUSE_UP, onRelaches);
function onRelaches(e:MouseEvent):void{
    r1.stopDrag();
}

p1.addEventListener(MouseEvent.MOUSE_UP, onRelachez);
function onRelachez(e:MouseEvent):void{
    p1.stopDrag();
}
là, les lettres apparaisent a differents endroits sur la scène. Ce code, devrait faire en sorte que lorsqu'on deplace les lettres aux bons endroits, ça trace "tu as gagné" mais ça ne trace rien... j'en viens donc à la conclusion que le startDrag ne sauvegarde pas les postions x et y de l'objet déplacé ?

Car en faisant ça : quand je teste l'anim, ça trace bien "tu as gagné donc le probleme de vient pas dautre chose que le Startdrag ...


Bloc de code:
var r1:r = new r;
var p1:p = new p;
var o1:o = new o;
o1.x = 10;
o1.y =10;
p1.x = 20
p1.y = 150
r1.x = 30
r1.y = 300
addChild(r1);
addChild(p1);
addChild(o1);

if (r1.x > o1.x && o1.x > p1.x && p1.x < o1.x && p1.x < r1.x ) {
    trace("tu as gagné");
}

o1
r1
p1.addEventListener(MouseEvent.MOUSE_DOWN, onAppuie);
function onAppuie(e:MouseEvent):void{
    p1.startDrag();
}

r1.addEventListener(MouseEvent.MOUSE_DOWN, onAppuies);
function onAppuies(e:MouseEvent):void{
    r1.startDrag();
}

o1.addEventListener(MouseEvent.MOUSE_DOWN, onAppuiez);
function onAppuiez(e:MouseEvent):void{
    o1.startDrag();
}

o1.addEventListener(MouseEvent.MOUSE_UP, onRelache);
function onRelache(e:MouseEvent):void{
    o1.stopDrag();
}

r1.addEventListener(MouseEvent.MOUSE_UP, onRelaches);
function onRelaches(e:MouseEvent):void{
    r1.stopDrag();
}

p1.addEventListener(MouseEvent.MOUSE_UP, onRelachez);
function onRelachez(e:MouseEvent):void{
    p1.stopDrag();
}
Merci de m'éclairer là dessus au plus vite :love::love:

ciao :zen:
 

tatouille

Vétéran
1 Juin 2004
5 174
494
Stanford CA
Slt, moi ausI j'apprends las3 et je me demande comment toi aussi tatouille tu as apprît las 3 (avec quels livres ??). Merci bye bye

j'ai jamais appris vraiment j'en fais pas et plus depuis flash MX (a part quelques trippes quand ca me prend), j'ai juste trifouiller quelques annees avec differents emacs script based familly et les concepts de base OO, generalement j'apprend un language avec la doc voir les sources du runtime et en lisant l'existant,

je ne peux pas te conseiller un bouquin sur l'AS3 je ne pense pas que j'en lirais un un jour, je suis plus interresse
par la def du language aka ML

c'est comme le bouquin d'hillegas 1er pour cocoa j'en ai lu 10 pages et ca ma gonfle, j'en ai appris plus en lisant les sources de objc runtime et de l'implementation foundation de GNUStep, et la doc, j'etais deja bien loin de ca
donc pour moi ce bouquin est une erreur mais si vous commencer de zero je pense que c'est interressant pour mettre le pied a l'etrier

j'apprend beaucoup plus en lisant le source code des libs runtime, apres pour des parties ou je ne suis pas a l'aise "Core Animation for Mac OS X and the iPhone: Creating Compelling Dynamic User Interfaces" je google (dixit le livre que j'ai trouve) et vais a la lib (aka je bouge mon cul j'aime bien trainer dans les bibliotheques) je regarde et lis en travers pour voir si ce n'est pas trop guigui et j'achete

ce bouquin est bien car j'ai reussi a lire 30% avant que ca me gonfle donc etre deja plus loin que le bouquin c'est a dire que je tapuille sur mon clavier et retourne le truc dans tous les sens parfois je fais ca de 3 am to 8am avant de partir bosser, aka je fais fonctionner mon cerveau, concepte tres rare chez les developpeurs d'aujourd'hui

les conseilles:
- bouge ton cul
- plus tu apprends plus tu es capable d'apprendre
- travail / action
- avant de poser une question sur un forum c'est que tu galeres depuis quelques heures et que tu as accomplie les demarches suivantes:

- analyse
- le blocage
- savoir expliquer le blocage
- ne pas etre dans une perpective d'abandon