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

ActionScript 1 & ActionScript 2 Discussion :

Comprendre un peu les bases


Sujet :

ActionScript 1 & ActionScript 2

  1. #1
    Membre régulier
    Homme Profil pro
    Technicien maintenance
    Inscrit en
    mars 2013
    Messages
    72
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Technicien maintenance
    Secteur : Industrie

    Informations forums :
    Inscription : mars 2013
    Messages : 72
    Points : 85
    Points
    85
    Par défaut Comprendre un peu les bases
    Bonjour, je ne suis pas du tout programmeur en actionscript, mais lorsque je me suis attelé au théorème des axes séparés pour mon jeu en C/SDL que j'ai voulu passer en C#/XNA(niveau débutant dans les 2), le seul tuto compréhensible avec une appli et commentaires est en actionscript, alors me voilà avec une petite question :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
    function Vector2(x,y)
    {
    	this.x = x;
    	this.y = y;
    }
     
    //(returns a formatted string containing x,y)
    Vector2.prototype.ToString = function()
    {
    	return ( "(" + this.x + "," + this.y + ")" )
    }
    En C# le "this" fait référence à une variable préalablement initialisé, mais en actionscript j'ai l'impression que l'on peut initialiser directement par ce "this".
    J'ai parcouru le code en entier et ce plusieurs fois pour trouver l'initialisation de "signx, singny", et je ne le vois que ci-dessous, alors ma première pensée était-elle bonne?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    this.signx = 0;
    	this.signy = 0;
    	this.sx = 0;
    	this.sy = 0;
    Je vous remercie d'avance pour vos réponses.

    Edit : je pensais juste, et sûrement pour le reste aussi, merci quand même.

  2. #2
    Expert éminent sénior
    Avatar de Paul TOTH
    Homme Profil pro
    Freelance
    Inscrit en
    novembre 2002
    Messages
    8 088
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Freelance
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : novembre 2002
    Messages : 8 088
    Points : 26 189
    Points
    26 189
    Par défaut
    ActionScript 2 est dans la même famille de langage que JavaScript.

    une simple fonction peu servir de constructeur d'objet

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    function nouvelObjet() {
      this.x = 1; // initialisation du membre x
    }
     
    var o = new nouvelObjet(); // création d'un objet avec new
    si j'appelle la fonction nouvelObjet() sans le mot clé new, "this" va pointer sur _root, l'objet MovieClip global principal.

    je vais aussi pouvoir invoquer la fonction depuis un autre constructeur et "this" pointera sur l'objet appelant.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
    function nouvelObjet() {
      this.x = 1; // initialisation du membre x
    }
     
    function nouvelObjet2() {
      nouvelObjet(); // this.x = 1
      this.y = 1; // initialisation du membre y
    }
     
    var o = new nouvelObjet(); // {x: 1}
    var b = new nouvelObjet2(); // { x:1, y: 1 }
    quand au "prototype" c'est ce qui se rapproche le plus de la classe objet bien que ça ne soit pas exactement ça. Donc en définissant une méthode dans le prototype de la fonction on ajoute une méthode à tous les objets créé par la fonction en question.

    Dans un langage objet (y compris AS3) le code que tu donnes correspondrait à quelque chose de ce genre :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
    class Vector2 {
      var x, y;
      Vector2(ax, ay) {
        x  = ax;
        y  = ay;
      }
      string ToString() {
        return "(" + thix.x + ","  + this.y + ")";
      }
    }
    Developpez.com: Mes articles, forum FlashPascal
    Entreprise: Execute SARL
    Le Store Excute Store

  3. #3
    Membre régulier
    Homme Profil pro
    Technicien maintenance
    Inscrit en
    mars 2013
    Messages
    72
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Technicien maintenance
    Secteur : Industrie

    Informations forums :
    Inscription : mars 2013
    Messages : 72
    Points : 85
    Points
    85
    Par défaut
    Merci Paul TOTH

    Je crois qu'il n'y a pas plus clair

    Encore merci

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [MooTools] MooTools lance les JavaScript Challenge pour mieux comprendre le JavaScript de base
    Par vermine dans le forum Bibliothèques & Frameworks
    Réponses: 8
    Dernier message: 16/08/2012, 08h19
  2. Réponses: 17
    Dernier message: 18/06/2012, 13h27
  3. Comprendre les bases de données
    Par eric mendou dans le forum Connexions aux bases de données
    Réponses: 1
    Dernier message: 18/01/2012, 15h10
  4. [XL-2007] comprendre les bases, recherches exercices
    Par goldvin dans le forum Excel
    Réponses: 2
    Dernier message: 30/11/2009, 17h11
  5. Comprendre les bases
    Par coolphp5 dans le forum Débuter avec Java
    Réponses: 2
    Dernier message: 16/09/2009, 09h29

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