IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Flash Discussion :

Instance objet inexistante


Sujet :

Flash

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Inscrit en
    Avril 2012
    Messages
    14
    Détails du profil
    Informations forums :
    Inscription : Avril 2012
    Messages : 14
    Par défaut 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.

    ps: Je croyais être inscrit depuis longtemps, mon compte a peut être été supprimé, j'espère qu'on ne me prendra pas trop pour un arriviste étant donné que je ne suis pas passé par la case présentation (si elle existe).

  2. #2
    Membre averti
    Inscrit en
    Avril 2012
    Messages
    14
    Détails du profil
    Informations forums :
    Inscription : Avril 2012
    Messages : 14
    Par défaut
    Quelques informations complémentaires.

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



    L'instance est bien nommée




    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 pour votre aide.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    114
    115
    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
    Membre averti
    Inscrit en
    Avril 2012
    Messages
    14
    Détails du profil
    Informations forums :
    Inscription : Avril 2012
    Messages : 14
    Par défaut
    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. [POO] Accès à une instance objet depuis un enfant
    Par mokadjo dans le forum Général JavaScript
    Réponses: 16
    Dernier message: 09/07/2011, 00h30
  2. [PHP 5.0] ecraser dans un tableau l'instance objet par la nouvelle
    Par moukit233 dans le forum Langage
    Réponses: 1
    Dernier message: 22/01/2010, 12h41
  3. creation instance objet
    Par jcaspar dans le forum Langage
    Réponses: 3
    Dernier message: 08/09/2007, 16h39
  4. Cloner un objet : comment créer l'instance ?
    Par phplive dans le forum Langage
    Réponses: 8
    Dernier message: 29/05/2005, 18h27
  5. Réponses: 6
    Dernier message: 06/12/2004, 22h18

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo