
Cette instance va permettre de faire feu (lancer le boulet).
Cette instance va permettre de replacer le boulet dans le canon.
Ces instances vont permettre de modifier l'angle de tir
La zone de texte dynamique est associée à la variable numAngle. Elle permet d'afficher la valeur de l'angle de tir.
Cette instance est nommée Canon1.
Sa propriété _rotation est utilisée pour changer l'angle de tir.
Cette instance est nommée Boulet1.
Ses pripriétés _x et _y sont utilisée pour la déplacer.
Les variables suivantes ont été définies dans l'instance de ce clip :
- x0 : abscisse initiale de Boulet1,
- y0 : ordonnée initiale de Boulet1,
- testDeplacement : variable bouléenne,
- testChargement : variable bouléenne.
on(release) {
//Si le Boulet1 est initialisé alors...
if (_root.Boulet1.testChargement) {
//Récupération ou initialisation des paramètres pour le Boulet1
_root.Boulet1.numTemps=0;
_root.Boulet1.numVitesse0=60;
_root.Boulet1.numAngle0=-_root.Canon1._rotation;
//Indication que le déplacement du Boulet1 est possible
_root.Boulet1.testDeplacement=true;
//Indication que Boulet1 n'est plus chargé (il vient d'être lancé)
_root.Boulet1.testChargement=false;
}
}
on(press) {
//Indication que le déplacement du Boulet1 n'est pas possible
_root.Boulet1.testDeplacement=false;
//Replacement du Boulet1 à sa position d'origine
_root.Boulet1._x=_root.Boulet1.x0;
_root.Boulet1._y=_root.Boulet1.y0;
//Indication que Boulet1 est chargé (prêt à être lancé)
_root.Boulet1.testChargement=true;
}
on(release) {
_root.Canon1._rotation=Math.max(_root.Canon1._rotation-1,-80);
_root.numAngle=-_root.Canon1._rotation;
}
on(release) {
_root.Canon1._rotation=Math.min(_root.Canon1._rotation+1,-10);
_root.numAngle=-_root.Canon1._rotation;
}
onClipEvent(load) {
_rotation=-45;
}
onClipEvent(load) {
//Indication que le déplacement du Boulet1 n'est pas possible
testDeplacement=false;
//Déclaration des coordonnées d'origines du Boulet1
x0=this._x;
y0=this._y;
//Indication que le Boulet1 est chargé
testChargement=true;
}
onClipEvent(enterFrame) {
//Si le déplacement du Boulet1 est possible alors...
if (testDeplacement) {
//Incrémentation du temps
numTemps=numTemps+0.2;
//Positionnement du Boulet1 aux nouvelles coordonnées
_x=numVitesse0*Math.cos(numAngle0*3.1415/180)*numTemps+x0;
_y=0.5*10*numTemps*numTemps-numVitesse0*Math.sin(numAngle0*3.1415/180)*numTemps+y0;
//Si le Boulet1 touche le sol alors...
if (_y>=240-10) {
//Indication que le déplacement du Boulet1 n'est plus possible
testDeplacement=false;
_y=240-10;
}
}
}