[FLASH] Instance objet inexistante
Répondre à la discussion
Affichage des résultats 1 à 5 sur 5

[FLASH] Instance objet inexistante



  1. #1
    invite983e93dd

    [FLASH] Instance objet inexistante


    ------

    Bonjour,

    Je ne suis pas expert en flash et je suis devant le problème suivant depuis plusieurs jours.

    J'ai réalisé un projet de menu en flash en 2007 je crois. J'ai souhaité l'actualiser pour faire une mise à jour, je l'ai ouvert avec CS5.5, le projet fonctionne toujours.

    J'ai eu besoin d'ajouter une instance d'objet dans la timeline que j'ai nommé box5. Un petit bout d'action script 2.0 fait ce qu'il faut pour parcourir les box[x].

    Afin de vérifier simplement si l'instance est bien existante pour l'actionscript, j'ai tout simplement fait un box5.visible=false.

    Ça marche pour tous les objets box sauf celui que j'ai ajouté (le 5).

    Je ne comprends pas comment faire, c'est probablement un truc simple mais je suis bloqué.

    J'ai testé l'exécution en actionscript3, le programme ne fonctionne plus de la même manière du coup j'ai remis les options en actionscript2.0.

    J'espère que quelqu'un pourra m'aider car c'est vraiment le seul truc qui me bloque.

    Merci d'avance.

    -----

  2. #2
    invite983e93dd

    Re : [FLASH] Instance objet inexistante

    Je complète les informations afin que ce soit plus clair.

    Voici le principe : Les objets en questions, de gauche à droite Box1 à Box5 (ma nouvelle instance de Box)

    flash1.JPG

    L'instance est bien nommée

    flash2.JPG


    Voici le code :

    box5._visible=false ne fonctionne pas alors que si je box4._visible=false fonctionne.
    J'en déduit que l'objet n'est pas instancié.

    Merci d'avance.

    Code:
    import mx.transitions.Tween;
    import mx.transitions.easing.*;
    _global.slidingMenu = this;
    big_width = 396;
    big_height = 425;
    small_width = 60;
    small_height = 88;
    time_for_animation = 60;
    box1.id = 1;
    box2.id = 2;
    box3.id = 3;
    box4.id = 4;
    box5.id = 5;
    box1.onRelease = function() {
    	slidingMenu.moveBoxes(this.id);
    //	getURL("../../../../index.php/fr/le-bimensuel","_self");
    };
    box2.onRelease = function() {
    	slidingMenu.moveBoxes(this.id);
    //	getURL("../../../../index.php/fr/fil-rouge","_self");
    };
    box3.onRelease = function() {
    	slidingMenu.moveBoxes(this.id);
    //	getURL("../../../../index.php/fr/dossiers","_self");
    };
    box4.onRelease = function() {
    	slidingMenu.moveBoxes(this.id);
    //	getURL("../../../../index.php/fr/les-clubs","_self");
    };
    box5.onRelease = function() {
    	slidingMenu.moveBoxes(this.id);
    //	getURL("../../../../index.php/fr/conseil-a-seminaire","_self");
    };
    
    box5._visible=false;
    
    //box1.id = 1;
    //box2.id = 2;
    //box3.id = 3;
    //box4.id = 4;
    //box5.id = 5;
    for (var i:Number = 1; i<6; i++) {
    	this["box"+i].onRollOver = function() {
    		slidingMenu.RollOverBoxes(this.id);
    	};
    	this["box"+i].onRollOut = this["box"+i].onReleaseOutside=function () {
    		slidingMenu.RollOutBoxes(this.id);
    	};
    }
    
    slidingMenu.RollOverBoxes = function(boxNumber:Number) {
    	if (_root.link<>boxNumber) {
    		var cBox:MovieClip = eval('box'+boxNumber);
    		cBox.gotoAndPlay("s1");
    	}
    };
    slidingMenu.RollOutBoxes = function(boxNumber:Number) {
    	if (_root.link<>boxNumber) {
    		var cBox:MovieClip = eval('box'+boxNumber);
    		cBox.gotoAndPlay("s2");
    	}
    };
    
    
    slidingMenu.moveBoxes = function(boxNumber:Number) {
    	if (_root.link<>boxNumber) {
    		
    		s = new Sound();
    	s.attachSound("p");
    	s.start(0, 1);
    		
    		
    		k = 1;
    		eval('box'+_root.link).gotoAndPlay("s2");
    		for (var i:Number = 1; i<7; i++) {
    			var cBox:MovieClip = eval('box'+i);
    			if (i == boxNumber) {
    				_root.link_prev = _root.link;
    				_root.link = boxNumber;
    			}
    			if (i == boxNumber) {
    				//new Tween(cBox, "_width", Strong.easeOut, cBox._width, big_width, time_for_animation, false);
    				//new Tween(cBox, "_height", Strong.easeOut, cBox._height, big_width, time_for_animation, false);
    				new Tween(cBox, "_x", Elastic.easeOut, cBox._x, 0, time_for_animation, false);
    			} else {
    				//new Tween(cBox, "_width", Strong.easeOut, cBox._width, small_width, time_for_animation, false);
    				//new Tween(cBox, "_height", Strong.easeOut, cBox._height, small_height + Math.random()*100, time_for_animation, false);
    //				new Tween(cBox, "_x", Strong.easeOut, cBox._x, (k-1)*46-137, time_for_animation, false);
    				new Tween(cBox, "_x", Strong.easeOut, cBox._x, (k-1)*46-137, time_for_animation, false);
    				k++;
    			}
    			//trace(_root.pages2._x)
    			new Tween(_root.pages2, "_x", Strong.easeOut, _root.pages2._x, 1150-_root.link*550, time_for_animation-10, false);
    			if(_root.link==1) {
    							new Tween(_root.pages2, "_x", Strong.easeOut, _root.pages2._x, 1150-_root.link*550, time_for_animation-10, false);
    			}
    		}
    	}
    };
    
    
    // Functions
    slidingMenu.moveBoxes2 = function(boxNumber:Number) {
    	if (boxNumber) {
    		slidingMenu.boxesOrder = slidingMenu.boxesOrder.remove(boxNumber);
    		slidingMenu.boxesOrder = slidingMenu.boxesOrder.insert(0, boxNumber);
    	}
    	for (var i:Number = 0; i<slidingMenu.boxesOrder.length; i++) {
    		var cBox:MovieClip = eval('box'+slidingMenu.boxesOrder[i]);
    		new Tween(cBox, "_x", Strong.easeOut, cBox._x, slidingMenu.pointsX[i], 40, false);
    		new Tween(cBox, "_width", Strong.easeOut, cBox._width, big_width, 40, false);
    		cBox._y = slidingMenu.pointsY[i];
    	}
    };
    //slidingMenu.moveBoxes();

  3. #3
    invite2f2c58f7

    Re : [FLASH] Instance objet inexistante

    Bonjour,

    Une petite suggestion (j'ai très peu fait de AS...) :

    Créer des instances de clip avec ActionScript

    Voir Utilisation d'un clip de la library dans AS3 - Survol du langage ActionScript

    En résumé: Etant donné que les scripts attachés à la timeline n'ont pas accès à la library, il faut d'abord exporter l'item en question (par exemple un clip) pour ActionScript.

    Clic droit sur le clip (ou autre élément) dans la library
    Clic sur Properties et sélectionner Export for ActionScript
    Vous pouvez, si vous avez envie, changer le nom de la classe (par exemple "Cheese", normalement un nom de class est capitalisé)

    Ensuite, avec ActionScript, on crée un ou plusieurs objets de cette classe. S'il s'agit d'un clip on le positionne et si nécessaire et on l'ajoute dans la scène. stage est la variable qui contient le graphe de scène (c-a-d. l'hiérarchie des objets visibles dans un frame donné).

    Exemple pour un clip don't la classe s'appelle Cheese
    Code:
    var fromage:Cheese = new Cheese();
    // positionner l'objet
    cheese.x=100;
    cheese.y=100;
    // ajouter l'objet sur la scène
    stage.addChild(cheese);
    source http://edutechwiki.unige.ch/fr/Flash...boles_et_clips

  4. #4
    invite983e93dd

    Re : [FLASH] Instance objet inexistante

    Merci pour ton retour mais je suis en ActionScript2.0 même si j'utilise l'éditeur le plus récent de Flash.

    J'ai essayé un export, import ... mais ça ne semble pas améliorer les choses.

  5. A voir en vidéo sur Futura
  6. #5
    invite983e93dd

    Re : [FLASH] Instance objet inexistante

    Après avoir partagé mon pb sur Mediabox, j'ai eu un retour intéressant.

    Bon, je n'ai pas vraiment compris ce qui s'est passé mais j'ai réussi à recréer le calque 5, mettre la box2, l'instancier et ça fonctionne.

    J'ai l'impression qu'il ne mémorisait pas box5 car après l'avoir entré une fois, je suis repassé sur le calque et je me suis aperçu que l'instance était vide. Je l'ai donc remise à jour et ça a fonctionné du premier coup.

    J'ai dû faire une mauvaise manipulation, dommage que cela fasse 3 semaines que je sois sur le truc et que je n'ai pas réussi à le voir.

Discussions similaires

  1. Double instance en vhdl
    Par invitee7abb03f dans le forum Électronique
    Réponses: 4
    Dernier message: 25/09/2011, 14h04
  2. Objet Flash
    Par invite770d9cfe dans le forum Logiciel - Software - Open Source
    Réponses: 1
    Dernier message: 26/04/2009, 19h53
  3. [Brun] Reception antenne inexistante
    Par invited475f6d5 dans le forum Dépannage
    Réponses: 3
    Dernier message: 04/01/2009, 14h02
  4. connectivité limitée ou inexistante
    Par invite6397bb2d dans le forum Internet - Réseau - Sécurité générale
    Réponses: 4
    Dernier message: 15/02/2008, 19h49