Forums Développement Multimédia

Aller au contenu

- - - - -

this

this as3 CODE

10 réponses à ce sujet

#1 archiroc

    Ceinture Noire

  • Members
  • PipPipPipPipPipPipPip
  • 259 messages

Posté 05 December 2016 - 16:06 PM

Bonjour !

Me revoilà. Si vite que cela me donne peine à la savoir...

J'ai cherché mais ne trouve pas trop de doc sur l’utilisation de "this".



this["clipA"+i].gotoandstop(2);
 

Ca marche.
Mais dans le cadre de clip imbriqués ???



clipB.this["clipA"+i].gotoandstop(2);
// Marche pas
this["clipB.clipA"+i].gotoandstop(2);
// Marche pas
 

Alors je suis malheureux...

#2 pol2095

  • Members
  • PipPipPipPipPipPipPipPip
  • 1782 messages

Posté 05 December 2016 - 16:13 PM


clipB["clipA"+i].gotoandstop(2);
 


#3 JRB

    abracadabrantesque

  • Members
  • PipPipPipPipPipPipPipPip
  • 1864 messages

Posté 06 December 2016 - 19:05 PM

Bonjour.


Je n'utilise JavaScript que dans les PDF, où on utilise this. pour indiquer que l'objet ou l'évènement ciblé se trouve dans le document PDF actif (en premier-plan), et pas dans un autre.

this.getField("nomduchamp").display = display.visible;

C'est peut-être une piste ?
Acrobate du PDF, InDesigner et Photoshopographe
abracadabraPDF.net

#4 archiroc

    Ceinture Noire

  • Members
  • PipPipPipPipPipPipPip
  • 259 messages

Posté 06 December 2016 - 21:02 PM

Bonsoir Abracadabra,

En réalité Pol a bien répondu au problème posé.
Mais finalement ta réponse est relativement complémentaire.

Me concernant il s'agissait d'un problème de syntaxe.
Je réalise qu'il s'agit également d'une difficulté à cibler, donc de compréhension globale.
( d'où l'intérêt de ta réponse )

Et ce jour je ne sais pas si je suis compatible avec la logique actuelle ou si mes neurones sont justes fatigués.

La problématique est plus large :
Tous ces jeunes qui ont envie de se lancer dans la programmation et veulent être directeurs de production chez Ubisoft en ont-ils la capacité.

Finalement, "this" est une difficulté passagère (vite résolu par Pol en l’occurrence ) mais cache le problème du "them".

Or c'est la relève qui importe !

Du sujet sociétale qui dévalise une correction de dictée...

Merci les gens,
:eusa_doh:

PS. je fini mes 2 projets avec Animate puis passe sur Javascript. Et là les pb vont pleuvoir...

#5 Monsieur Spi

  • Community Manager
  • PipPipPipPipPipPipPipPip
  • 7004 messages

Posté 07 December 2016 - 21:23 PM

"this" se rapporte généralement à l'objet appelant.
Si tu es dans une classe "this" est l'objet généré via la classe.
Si tu appelle une méthode via un autre objet ou une autre méthode, this se rapporte à la méthode appelante (d'où le danger de l'utiliser partout).
En gros "this" = "moi même" (ou celui qui appelle).
En javascript, "this" peut être utilisé dans le constructeur d'une classe pour créer une variable publique (à contrario de "var" qui déclare une variable privée).


var maClasse = function(){
this.couleur = "rouge"; // public
var taille = "grand"; // privé
}

var toto = new maClasse();
console.log(toto.couleur) // accessible
console.log(toto.taille)// innaccessible
 


#6 pol2095

  • Members
  • PipPipPipPipPipPipPipPip
  • 1782 messages

Posté 08 December 2016 - 20:04 PM

Si tu veux utiliser this
this["clipB"]["clipA"+i].gotoandstop(2);


#7 archiroc

    Ceinture Noire

  • Members
  • PipPipPipPipPipPipPip
  • 259 messages

Posté 12 December 2016 - 14:06 PM

En fait voilà :

Scriptant avec les pieds dans la timeline sans utilisation ni de classes ni de méthode comme aldchild ni enfin le moindre fichier externe à mon environnement flash bien confortable :
J'utilise "this" uniquement pour cibler les clips dont j'ai besoin du nom d'occurrence par une formule.

Mais en dehors des lacunes sus-nommées ma méthode est'elle à proscrire ? Existe-t-il une autre façon pour cibler mes très chers movieclip au prénom parfois indécent ?

Bon.
Je vais chez mon allergologue et reviendrais avec un autre sujet au combien passionnant.

Bel apres-midi les gens !

#8 Monsieur Spi

  • Community Manager
  • PipPipPipPipPipPipPipPip
  • 7004 messages

Posté 12 December 2016 - 18:57 PM

Bonjour,

Utiliser le nom d'un clip pour le retrouver n'est généralement pas une bonne idée.
Le mieux (si tu n'utilise pas la POO), c'est de passer par un tableau, d'y stocker tes clips, puis de faire une boucle pour retrouver les clips dont tu as besoin.

Pour débuter la POO, tu peux lire ce tuto : http://forums.mediab...ases/classesqqc

#9 archiroc

    Ceinture Noire

  • Members
  • PipPipPipPipPipPipPip
  • 259 messages

Posté 12 December 2016 - 21:39 PM

Merci M'SPI,

Tu aurais un exemple ( genre pas compliqué ) de stockage des clips dans les tableaux ?

Il me semble avoir déjà vu ça ici même mais impossible de remettre la main dessus.
GRrrr....

( Et heu promis, suis en train de me replonger à fond dans ce marasme et vous prouverais à tous que ce qui compte c'est avant tout l'efficacité et que FLASH n'est pas mort !!!! Nah ! )

#10 Monsieur Spi

  • Community Manager
  • PipPipPipPipPipPipPipPip
  • 7004 messages

Posté 12 December 2016 - 22:34 PM

Dans la bibliothèque, cliquer avec le bouton droit sur le MovieClip que tu veux utiliser.
Choisir "exporter pour AS" et lui donner un nom (par exemple "MonClip").
Ceci rend le clip utilisable avec le code.

Puis dans le code :


var monClip:MovieClip = new MonClip(); // créer un clip à partir du modèle de la biblio
var tableau:Array = []; // créer un tableau de stockage des clips

// ...

tableau.push(monClip); // ajouter le clip au tableau

//...

for(var i:int=0; i<tableau.length; i++){  // boucler sur le tableau des clips
stage.addChild(tableau[i]); // ajouter chaque clip du tableau à la scène
}
 


#11 archiroc

    Ceinture Noire

  • Members
  • PipPipPipPipPipPipPip
  • 259 messages

Posté 12 December 2016 - 22:46 PM

Bien !
Très bien....

Mais,
Pour les réfractaires au addchild ( d’où mon rendez-vous ce jour chez allergologue ) ???

L'idée étant de faire de Animate un substitut au GFA Basic sous Atari ST.

Pas con : créer mes classes opensource qui permettraient de s'affranchir de l'incongruité et de la logique prédominante.
( Y penser pour moi même )

A++ Mister !




Répondre à ce sujet



  

2 utilisateur(s) li(sen)t ce sujet

0 membre(s), 2 invité(s), 0 utilisateur(s) anonyme(s)

authorised training centre

Centre de Formation Mediabox - Adobe et Apple Authorised Training Center.

Déclaré auprès de la Direction du Travail et de la Formation Professionnelle

Mediabox : SARL au capital de 62.000€ - Numéro d'activité : 11 75 44555 75 - SIRET : 49371646800035

MEDIABOX, 23, rue de Bruxelles, 75009 PARIS

FFP