Je suis un peu nouveau à l'ajout de classes dans AS3, jusqu'ici je viens de faire tout sur frame1 du film. Je me suis dit que je devrais éventuellement apprendre des cours, alors voilà :) Quand j'ajoute des objets sur l'écran, j'aime les regrouper dans des objets de conteneurs pour les utiliser plus tard. J'ai donc une planche de Hex que je construis, et j'essaie de les placer dans un MovieClip nommé hexContainer que j'ai sur la scène. Maintenant, si je faisais ce code comme je le ferais normalement, je ferais juste hexContainer.addChild (tempHex). Cependant, cela me jette une erreur 1120.AS3 - Ajout d'un objet à un MovieClip Container d'une classe
Mon code de classe est la suivante:
package
{
import flash.display.MovieClip
import Hex
import flash.display.Stage
public class Boards extends Hex
{
public function buildBoardOne()
{
for(var i:int = 1; i <= 5; i++)
{
var tempHex:Hex = new Hex();
tempHex.x = 100;
tempHex.y = 100;
hexContainer.addChild(tempHex);
}
}
}
}
Je l'ai fait au début juste ont ces ajouté à la scène et a été d'obtenir une erreur quand je l'ai fait, c'est pourquoi la déclaration d'importation est là. J'avais vérifié sur google pour comprendre pourquoi et c'est ce qu'ils ont dit de faire.
Maintenant, quand j'ai ajouté cela à la scène, ça a bien fonctionné. J'ai pu obtenir mon hexagone et les manipuler et nous avons fait la fête et c'était un bon moment. Maintenant que j'essaie de les mettre dans le clip du conteneur, ils sont plutôt en colère contre moi et je ne peux pas les apaiser: p
Toute aide que vous pourriez me donner serait grandement appréciée.
Code modifié pour tester ce okayGraphics suggéré:
package
{
import flash.display.MovieClip
import Hex
import flash.display.Stage
public class Boards extends Hex
{
var hexContainer:MovieClip = new MovieClip();
stage.addChild(hexContainer);
public function buildBoardOne()
{
for(var i:int = 1; i <= 5; i++)
{
var tempHex:Hex = new Hex();
tempHex.x = 100;
tempHex.y = 100;
stage.addChild(tempHex);
}
}
}
}
Une suggestion que je peux faire est que lorsque vous commencez à programmer purement dans les classes, vous oubliez la scène et son contenu et travaillez entièrement avec ActionScript. Cela permettra de réduire considérablement la confusion. Utilisez la classe de document comme point d'entrée principal pour les graphiques (car elle doit étendre Sprite ou MovieClip). – Marty
Je ne sais pas exactement comment contourner cela. Je ne sais pas ce qu'est une classe de document.