Ciao a tutti, per curiosita' e per gioco volevo cimentarmi nel costruire un semplice gioco in flash, e su internet ho trovato un tutorial.
Il gioco consiste in una semplice movieclip(nave) che spara ad dei movieclip(nemico).
Il problema che seguendo il tutorial alla perfezione non riesco a far partire la pallottola dalla nave.
Ora posto il codice, ringraziandovi in anticipo:
Codice del movieclip nave:
codice:
onClipEvent(load){
speed=10; //velocita navicella
_root.palla._visible=false; //nasconde la pallottola
counter=0; //numero spari utile per duplicare movieclip
}
onClipEvent (enterFrame) {
speed=10;
if (Key.isDown(Key.RIGHT)) {
this._x+=speed;
}
else if (Key.isDown(Key.LEFT)) {
this._x-=speed;
}
if (Key.isDown(Key.DOWN)) {
this._y+=speed;
}
else if (Key.isDown(Key.UP)) {
this._y-=speed;
}
else if (Key.isDown(key.SPACE)) {
counter++;
_root.palla.duplicateMovieClip( "palla"+counter,counter );
_root["palla"+counter]._visible=true;
}
}
Codice nemico:
codice:
onClipEvent (enterFrame) {
this._y+=enemySpeed;
if (this._y>=335) { //supera la dim massima del mio stage di esempio
reset();
}
}
onClipEvent (load) {
function reset(){
this._x=random(270); //270 è la dim massima del mio stage di esempio
this._y=random(10);
enemySpeed=random(4)+1;
}
reset();
}
Codice palla che sarebbe la pallottola:
codice:
onClipEvent (load) {
speed=10; //velocita della pallottola
this._y=_root.nave._y-30; //-30 perchè allineo la pallottola alla punta della nave
this._x=_root.nave._x;
}
onClipEvent (enterFrame) {
this._y-=speed; //fa muovere verso l'alto
if (this._y<=0){ //appena arrriva alla fine dello schermo
this.removeMovieClip(); //toglilo dallo schermo
}
//collisione col nemico
for (i=1; i<=_root.numEnemy; i++){
if (this.hitTest( _root["nemico"+i])){ //collisione col nemico
//_root.punteggio+=100; //punteggio
//_root["enemy"+i].gotoAndPlay( 2 ); //fa vedere la distruzione
removemovieclip(_root["nemico"+i]); //elimima da stage
}
}
}
Ed infine il codice associato al frame dove raggruppa tutti i movieclip:
codice:
numEnemy=10;
for (i=1; i<=numEnemy; i++){
nemico.duplicateMovieClip( "nemico"+i, i );
}
Non spara
Grazie.