cs_lalach
Messages postés21Date d'inscriptionlundi 25 octobre 2010StatutMembreDernière intervention21 décembre 2010
-
8 nov. 2010 à 14:40
dj_ouf
Messages postés221Date d'inscriptionvendredi 15 avril 2005StatutMembreDernière intervention 6 septembre 2011
-
12 nov. 2010 à 12:11
Bonjour,
je reviens à vous pour m'aider dans la construction d'un scripte que j'ai déjà entamer sous cs4 en as2, je suis en train de faire une sphère dedans, il y aura des boules qui tournent avec des collisions entre elles.
Mon souci est la collision entre les boules à intérieure de la sphère !!!!!
//déclaration des variables elles servirons pour la direction du mc_boule aprés colision
var coefX:Number = 1;
var coefY:Number =-1;
//créer un onEnterFrame pour écouter la direction de l'objet
this.mc_boule.onEnterFrame = function() {
deplacemc_boule();
};
//créer la fonction qui déplacera mc_boule
function deplacemc_boule() {
mc_boule._x += coefX;
mc_boule._y += coefY;
}
// utilisation de hitTest pout connaitre le moment ou mc_boule est en contact
//avec le clip "bord, le tout est placé dans un onEnterFrame ce qui permet d'utiliser
this.bord.onEnterFrame = function() {
// tester si il y a colision sur le bas ou a droite du clip "bord
if (this.hitTest(mc_boule._x+25, mc_boule._y+40, true) == false) {
coefX = -chiffreAleatoire();
coefY = -chiffreAleatoire();
}
// tester si il y a colision sur le bas ou a gauche du clip "bord
if (this.hitTest(mc_boule._x-0, mc_boule._y+60, true) == false) {
coefX = chiffreAleatoire();
coefY = -chiffreAleatoire();
}
// tester si il y a colision sur le haut ou a droite du clip "bord
if (this.hitTest(mc_boule._x+25, mc_boule._y-60, true) == false) {
coefX = -chiffreAleatoire();
coefY = chiffreAleatoire();
}
// tester si il y a colision sur le haut ou a gauche du clip "bord
if (this.hitTest(mc_boule._x-25, mc_boule._y-60, true) == false) {
coefX = chiffreAleatoire();
coefY = chiffreAleatoire();
}
};
//Enfin, nous créer une fonction qui a pour but de créer un chiffre aléatoire
function chiffreAleatoire() {
var chiffre:Number=(Math.floor(Math.random(123456789)*30));
if (chiffre >0) {
chiffre = 1;
}
// récupération du resultat
return chiffre;
}
cs_lalach
Messages postés21Date d'inscriptionlundi 25 octobre 2010StatutMembreDernière intervention21 décembre 2010 10 nov. 2010 à 23:15
Bonjour,
Merci d'avoir pris soin de me répondre, je sais que c'est un peu difficile, les calcules ce n'est pas mon point fort lol mais bon je ferai des efforts.
Sinon j'ai quand même un petit résultat, des boules qui se cognent dans la sphère certes ce n'est pas tellement précis mais c'est déjà ca.