begin process at 2012 05 27 05:45:17
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Flash / Flash MX

 > 

Divers

 > 

Débutant(e)

 > 

vider la scène


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

vider la scène

lundi 6 juin 2011 à 12:59:11 | vider la scène

JackNUMBER

Bonjour à tous,
J'essaie de me mettre à l'AS3 (je suis plutôt JS/PHP) et j'ai une question un peu bête...

J'ai des éléments sur ma scène (non-créés via l'AS3 mais glissé dans Flash de la bibliothèque à la scène).
J'aimerai vider la scène pour appeler un autre SWF.
Hors quand j'essaie cela, impossible d'importer un SWF derrière.
Code ActionScript :
while (stage.numChildren > 0) stage.removeChildAt(0);
//ou
stage.removeChild(0);



Un petit coup de pouce serait le bienvenu. Merci !
lundi 6 juin 2011 à 13:08:07 | Re : vider la scène

aerolyte

Bonjour,

il serait préférable, de laisser tes élements dans la bibliothéque, et de gèrer l'ajout a la scéne dans ton script avec addChild();

Cordialement
lundi 6 juin 2011 à 14:15:49 | Re : vider la scène

JackNUMBER

Bonjour,
à vrai dire si j'utilise cette méthode c'est parce que je n'arrive pas à appliquer un drag/drop sur un loader.
Même si je le met dans un conteneur (sprite) et bien j'ai le message d'erreur me disant que le drag ne marche pas sur les loader.
lundi 6 juin 2011 à 15:16:58 | Re : vider la scène

aerolyte

Il me semble que le drag d'un sprite n'a aucun lien avec son contenu.
Donc si ton sprite contient un clip,un loader, ou tout autre displayobject, il n'y a aucune différence.
Donc te probleme de drag n'est pas lié au loader.
lundi 6 juin 2011 à 19:20:00 | Re : vider la scène

JackNUMBER

Je sais bien !

Et pourtant :
Code ActionScript :
var scene:Sprite = new Sprite();
var testSprite:Sprite = new Sprite();
		
var urlImage:URLRequest = new URLRequest("image.jpg");
var monLoader:Loader = new Loader();
[...]
public function Enigme1():void {
	addChild(scene);
	monLoader.load(urlImage);
	testSprite.addChild(monLoader);
	scene.addChild(testSprite);
	addListeners(testSprite);
}

private function addListeners(... objects):void {
	for (var i:int = 0; i < objects.length; i++) {
		objects[i].addEventListener(MouseEvent.MOUSE_DOWN, dragObject);
		objects[i].addEventListener(MouseEvent.MOUSE_UP, stopDragObject);
	}
}

Me renvoi :
La propriété startDrag est introuvable sur flash.display.Loader et il n'existe pas de valeur par défaut.

Je n'y comprend rien....
Si tu pouvais m'éclairer
lundi 6 juin 2011 à 22:56:35 | Re : vider la scène

aerolyte

A mon avis, je supppose que le pb vient de l'affectation du startdrag dans ta fonction initié par l'event.
J'imagine que tu as codé:
event.target.startdrag();

Tu devrais alors tester
event.currentTarget.startdrag();

Cordialement
mardi 7 juin 2011 à 01:18:58 | Re : vider la scène

JackNUMBER

Ça me renvoi :
La propriété startdrag est introuvable sur flash.display.Sprite et il n'existe pas de valeur par défaut.
génial.....


Rien de bien méchant pourtant :
Code ActionScript :
private function dragObject(e:MouseEvent):void {
	e.currentTarget.startdrag();
}



Aurais-tu une autre solution ?
mardi 7 juin 2011 à 09:40:24 | Re : vider la scène

aerolyte

Bonjour,
Déja , je t'ai corriger ce pb de ciblage, car la sortie indique maintenant le bon objet.

apres la méthode c'est "startDrag()"
et pas" startdrag()"

cordialement
mardi 7 juin 2011 à 12:17:51 | Re : vider la scène

JackNUMBER

Ho mince ! Merci beacoup pour ton aide :)

Une petite question encore, au relâchement l'objet continu de suivre la souris et au clic j'ai ceci :
TypeError: Error #2007: Le paramètre hitTestObject ne doit pas être nul.
at flash.display::DisplayObject/_hitTest()
at flash.display::DisplayObject/hitTestObject()
at Jeu/stopDragObject()



(j'ai bien mis currentTarget partout : )
Code ActionScript :
private function dragObject(e:MouseEvent):void {
	getPosition(e.currentTarget);
	e.currentTarget.startDrag();
}

private function stopDragObject(e:MouseEvent):void {
	if (e.currentTarget.hitTestObject(getChildByName(e.currentTarget.name + "Target"))) {
		e.currentTarget.x = getChildByName(e.currentTarget.name + "Target").x + 25;
		e.currentTarget.y = getChildByName(e.currentTarget.name + "Target").y + 20;
		testFin();
	} else {
		e.currentTarget.x = xPos;
		e.currentTarget.y = yPos;
	}
	e.currentTarget.stopDrag();
}

private function addListeners(... objects):void {
	for (var i:int = 0; i < objects.length; i++) {
		objects[i].addEventListener(MouseEvent.MOUSE_DOWN, dragObject);
		objects[i].addEventListener(MouseEvent.MOUSE_UP, stopDragObject);
	}
}


J'ai fait plusieurs test, je comprend pas.

mardi 7 juin 2011 à 14:57:24 | Re : vider la scène

aerolyte

il faut declarer l'objet de comparaison avant de faire le hitest

private function stopDragObject(e:MouseEvent):void{
var test:Sprite=getChildByName(e.currentTarget.name+"Target")as Sprite;
if(e.currentTarget.hitTestObject(test)){
e.currentTarget.x=test.x+25;
e.currentTarget.y=test.y+20;
testFin();
}else{
e.currentTarget.x=xPos;
e.currentTarget.y=yPos;
}
e.currentTarget.stopDrag();
}

1 2

Cette discussion est classée dans : vider, essaie, stage, scène, as3


Répondre à ce message

Sujets en rapport avec ce message

Convertir As2 en As3 [flash plein navigateur] [ par THEPENGUIN ] Bonjour à toutes et à tous,voilà ma question est simple je n'arrive à convertir un code As2 en As3... quelqu'un pourrait-il m'aider?le code est le sui Evenements en AS3 [ par Djad666 ] Bonjour,Je travaille en AS3 et j'ai une question:Est-ce possible de réserver un événement à un clip? C'est à dire est-ce possible de faire en sorte qu Comment vider un tableau de son contenu en AS3. [ par jcdc ] Bonsoir tout le monde.Voilà, je voudrais utiliser un tableau à plusieurs reprises. Mais j'ai besoin parfois de le vider complètement de son contenu, p as3 Alignement image dans clip apres chargement [ par yahou29 ] Bonjour, Je souhaite charger une image dans un clip. Si je charge l'image sur la scène, tout va bien. Si je charge l'image dans un clip, cela m'affic équivalent de ce code AS2 en AS3 : this["nom"+i] [ par piere2 ] Bonjour, Je débute en AS3 et j'essaye d'avancer avec mes acquis AS2; je rame pas mal.... J'utilisais souvent ce code pour définir des action ou des va en AS3 comment vider la un tableau (Array) [ par yasdar ] en AS3 comment vider la un tableau (Array) après remplissage du tableau j'arrive pas à le vider pour le remplir par d'autres données. XML avec AS3 [ par jno123 ] Bonjour, je viens vers vous afin de trouver une solution à mon problème dans Flash CS3 -> AS3. - J'utilise un fichier xml pour charger des infos dans accès au objet sur la scène en utilisant les Class [ par jihednond ] Bonjour, je suis au cour de création d'un jeux 2D rpg simple mais j'ai eu un petit problème [^^langue3] j'ai créer une classe appelé "mure" pour emp Neige qui "colle" sur une partie dans la Scène (Flash 8 AS2) [ par arthelius ] Bonjour, Votre Site est super bien... je tenais à vous le signaler. J'ai créer une Scène avec une image de neige sur mon Flash 8 en AS2 et j'aimerai masques dynamiques sur particules as3 [ par totoindia ] salut à tous, je suis nouveau sous as3 (depuis avant hier soir ...) et j'ai un petit soucis avec mon projet flash: à partir de tutoriels et de ma volo


Nos sponsors


Sondage...

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

A découvrir



 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,983 sec (4)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales