moranddi
Messages postés2Date d'inscriptionvendredi 21 janvier 2011StatutMembreDernière intervention 2 février 2011
-
27 janv. 2011 à 08:10
moranddi
Messages postés2Date d'inscriptionvendredi 21 janvier 2011StatutMembreDernière intervention 2 février 2011
-
2 févr. 2011 à 12:33
Salut à tous, je fait un petit casse-brique et je voudrai qu'au moment ou la balle touche une brique il faille répondre à un calcul. Jusque là aucun soucis mais une fois que je veux récupérer la réponse et rependre le jeu il me met cet erreur:
Le paramètre child ne doit pas être nul.
at flash.display::DisplayObjectContainer/removeChild()
at Function/()
voici ma fonction qui contient tous:
function DeplacerTout(event:Event)
{
DeplacementBalle();
DeplacementRaquette();
//tester les briques
for(var L:Number=0;L<10;L++)
{
for(var C:Number=0;C<10;C++)
{
if (Niveau1[L][C]==1)
{
if (balle.hitTestObject(getChildByName("brique"+L+C)))
{
stop();
stage.removeEventListener(Event.ENTER_FRAME, DeplacerTout);
Mouse.show();
//CreerCalcul
var monTexte:TextField = new TextField();
monTexte.text="4x3=";
monTexte.type = TextFieldType.INPUT;
monTexte.y=420;
monTexte.x=320;
addChild(monTexte);
//CreerBouton
var btnRepondre:Reponse = new Reponse();
btnRepondre.y=410;
btnRepondre.x=420;
addChild(btnRepondre);
btnRepondre.addEventListener ( "click", VerifCalcul );
function VerifCalcul( pEvt:MouseEvent ):void
{
var ReponseJ : String = "4x3=12";
//si le calcule est juste
if(monTexte.text == ReponseJ)
{
removeChild(getChildByName("brique"+L+C));
Niveau1[L][C]=0;
NbBrique-=1;
CalculeRebondHorizontal();
Mouse.hide();
removeChild(getChildByName("monTexte"));
removeChild(getChildByName("btnRepondre"));
gotoAndPlay(7);
}
//sinon le calcule est faux
else
{
CalculeRebondHorizontal();
Mouse.hide();
removeChild(getChildByName("monTexte"));
removeChild(getChildByName("btnRepondre"));
gotoAndPlay(7);
}
}
//si il n'y a plus de brique
if (NbBrique<=0)
{
gotoAndPlay(10);
}
}
}
}
}
}
_benjy
Messages postés1575Date d'inscriptionvendredi 23 avril 2004StatutMembreDernière intervention21 février 20112 31 janv. 2011 à 11:14
Ola,
Dure de lire ce code sans tabulations ... mais si tu veux éviter l'erreur de script (attention ca réglera pas ton problème logique) tu peux vérifier si l'objet existe avant de l'enlever :
au lieu de
removeChild(getChildByName("monTexte"));
tu mets :
var child:DisplayObject = getChildByName("monTexte");
if (child) removeChild(child);
a faire partout ou tu fait tes removeChild.
et voilou ;)
++
Ben
Amalgam Production - Développement Web Flash PHP MySQL - Identité visuel et audiovisuel.
moranddi
Messages postés2Date d'inscriptionvendredi 21 janvier 2011StatutMembreDernière intervention 2 février 2011 2 févr. 2011 à 12:33
merci beaucoup pour ta réponse, je n'ai pas encore pu testé mais cela me semble une bonne solution. Je suis vraiment désolé pour les tabulation j'y ai pas fait gaffe quand je l'ai posé. encore merci et a plus.