begin process at 2012 05 27 01:40:13
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Archive Flash

 > 

Archives

 > 

ActionScript

 > 

jeu de vaisseau........ TIR !!!


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

jeu de vaisseau........ TIR !!!

lundi 23 février 2004 à 14:30:38 | jeu de vaisseau........ TIR !!!

maat

S'il vous pait j'ai besoin d'un volontaire super sympas pour me programmer le tir d'un vaisseau qui se deplace dans tout les sens:
c'est un vaisseau qui peut tourner sur lui même vers la gauche ou la droite et avancer ou reculer dans la direction du vaisseau, je voudrais qu'il tir des petites boules jaunes en rafales. Je bute sur ce code depuis un certain temps déja (environ 3 mois!) alors si quelqu'un pouvais me preparer ce codes ce serait super sympa et je le mettrai dans les credit du jeu (c'est rien mais je ne saurais pas quoi faire d'autre pour le remercier!)
merci d'avance à tout les gentils qui m'aideront...
@+
Maat (alias Palléas de son vrai nom)
(r.pouclet@wanadoo.fr )
lundi 23 février 2004 à 18:16:50 | Re : jeu de vaisseau........ TIR !!!

cadoudal56

Allez je suis d'humeur genereuse ce soir....
Il y a longtemps, environ 8 mois j'ai commencé flash par un jeu de tir...
C'etait un jeu de char que j'ai jamais fini......

Alors le heros etait un char qui rencontrait d'autre chars....
Le char du joueur est un clip qui se deplace de gauche a droite et de haut en bas.... Par contre il tire du haut vers le bas...

Voici le code du clip (char) du joueur :

onClipEvent (load) {
//vitesse de deplacement sur l'ecran
speed=8;
n=0;
}

//appui sur fleche droite
onClipEvent (enterFrame) {
if (key.isDown(key.RIGHT)) {
_x+=speed;
if (_x>800) {
_x = 800;
}
//appui sur fleche gauche
} else if (key.isDown(key.LEFT)) {
_x-=speed;
if (_x<0) {
_x = 0;
}
}
//appui sur fleche haut
if (key.isDown(key.UP)) {
_y-=speed;
if (_y<300) {
_y = 300;
}
//appui sur fleche bas
} else if (key.isDown(key.DOWN)) {
_y+=speed;
if (_y>450) {
_y = 450;
}
}

}


Maintenant cela se complique....
Parceque je redecouvre le script en meme temps que toi...


Voici la sequence de tir de l'ennemi, le tir s'oriente directement vers le joueur au moment ou il est lancé....

// ----------------------------------------------
//
// game gun
//
// ----------------------------------------------
shootchance = 3;
shotspeed = 5;
gunx = getProperty("", _x);
guny = getProperty("", _y);
sx = getProperty("_root.ship", _x);
sy = getProperty("_root.ship", _y);
mouse_x = getProperty("_root.ship", _x)-gunx;
mouse_y = getProperty("_root.ship", _y)-guny;
// ----------------------------------------------
// calculate absolute values:
// ----------------------------------------------
if (Number(mouse_x)<0) {
abs_mouse_x = Number(mouse_x)+Number((mouse_x*-2));
xsign = -1;
} else {
abs_mouse_x = mouse_x;
xsign = +1;
}
if (Number(mouse_y)<0) {
abs_mouse_y = Number(mouse_y)+Number((mouse_y*-2));
ysign = -1;
} else {
abs_mouse_y = mouse_y;
ysign = +1;
}
// ----------------------------------------------
// determine hypotenuse length
// ----------------------------------------------
// a squared plus b squared = c squared... (c=hypotenuese) so what is c?
input = Number((abs_mouse_x*abs_mouse_x))+Number((abs_mouse_y*abs_mouse_y));
call("sqrt");
hyp = output;
// ----------------------------------------------
// determine sin(theta)
// ----------------------------------------------
// now we know "c" (the hypotenuese) how do we find the angle? Sine(Theta) is Opposite over Hypotenuese, then lookup the Sine value in the lookup table.
sin_theta = abs_mouse_y/hyp;
// ----------------------------------------------
// lookup angle in table
// ----------------------------------------------
counter = 0;
found = 0;
while (not (found)) {
if (Number(substring(..:sine_lookup_table, Number((counter*6))+1, 5))<=Number(sin_theta)) {
// this counter will only increase if the value we are looking for is LESS than or EXACTLY the angle match in the lookup table. This way, if the sine value has no exact match then the counter will point to the angle closest (less than) the correct answer. How do we know the angle when it's not in the table? There are 90 values in the table. Counter represents which value we are currently comparing. Thus, counter IS the angle.
angle = counter;
} else {
found = 1;
}
counter = Number(counter)+1;
}
// ----------------------------------------------
// add back full circle values
// (because in making all the values absolute (required for some math calculations) we limit the angles to only one quadrant... but there are three more quadrants the angle could be in. This is where I fix this.)
// ----------------------------------------------
if (Number(sx)<Number(gunx)) {
angle = Number((90-angle))+90;
} else {
}
if (Number(sy)>Number(guny)) {
angle = Number(angle)+180;
} else {
angle = Number((90-angle))-90;
}
// ----------------------------------------------
// set rotation
// ----------------------------------------------
setProperty("tourelle", _rotation, angle+90);
// ----------------------------------------------
// shoot at user?
// ----------------------------------------------
// the variable "shootchance" represents a percentage of 100. Since I use a random number, there is (in theory) a 5 percent chance that the random number will be between 1 and 100. Since Random ACTUALLY returns a value between 0 and 99 I add +1.
shootnow = Number(random(100))+1;
if (Number(shootnow)<=Number(shootchance)) {
//if (Number(shootnow)<=100) {
// keep increasing "shotname" so there are no shots with the same name ever.
shotname = Number(shotname)+100;
if (Number(shotname)>=10000) {
shotname = 1000;
}
attachMovie ("star", "shot" add shotname, shotname);
// ----------------------------------------------
// determine shot travel values
// ----------------------------------------------
if (Number(abs_mouse_x)>=Number(abs_mouse_y)) {
// shot is more horizontal than vertical
set("shot" add shotname add ":xmov", shotspeed*xsign);
set("shot" add shotname add ":ymov", shotspeed*(abs_mouse_y/abs_mouse_x)*ysign);
} else {
// shot is more vertical than horizontal
set("shot" add shotname add ":ymov", shotspeed*ysign);
set("shot" add shotname add ":xmov", shotspeed*(abs_mouse_x/abs_mouse_y)*xsign);
}
shotx = getProperty("base_char", _x);
shoty = getProperty("base_char", _y);
setProperty("shot" add shotname, _rotation, angle);
setProperty("shot" add shotname, _x, shotx);
setProperty("shot" add shotname, _y, shoty);
}

Cette partie de code n'est pas de moi j'ai du l'adapter...
En gros tu recherches les coordonnées et tu orientes ton tir

Bref je vais voir si je peux te mettre la source dans le site, jette y un oeuil...

Tu apprendras plein de trucs... Sinon ben je te conseille de faire un tour dans des sites comme celui ci et de jeter un oeuil dans les sources accessibles section jeux, tu trouveras des jeux de tir et tu pourras comparer les scripts...

@+


Cadoudal56
La Bretagne ca vous gagne !!
lundi 23 février 2004 à 18:45:00 | Re : jeu de vaisseau........ TIR !!!

cadoudal56

J'ai mis la source du jeu sur le site dans la runrique jeu...
Il s'apelle Tank assault

http://www.flashkod.com/code.aspx?ID=20699

Bonne chance
et @+

Cadoudal56
La Bretagne ca vous gagne !!
mardi 24 février 2004 à 12:41:02 | Re : jeu de vaisseau........ TIR !!!

tom

Administrateur CodeS-SourceS
Salut, je pense qu'il y avait plus simple, en partant du principe que si on appuie sur droite ou gauche, on change la _rotation.
Mais ca dépend de la façon dont on voit le fonctionnement, tu peux aussi aller faire un tour dans la section 'jeux', tu auras le choix pour les sources, y en a surement une qui t'aideras...

Cadoudal, tu aurais du traduire les commentaires ;)
Mais je ne sais pas si c'est exactement ce que voulais maat...

@+ Tom
vendredi 27 février 2004 à 12:10:24 | Re : jeu de vaisseau........ TIR !!!

maat


En fait, j'y arrive a peu près à ce que le tir du vaisseau (des boules jaunes...) partes dans la bonne direction mais le problème c'est soit qd j'appuie a nouveau sur espace, la boule tirée precedement parte avec celle d'après, soit elle s'arrete qd je rappuis donc moi ce que je veux c'est que les boules continues leurs progression même quand une autre boule part pour faire un tir en rafale....
merci d'avance
maat


Cette discussion est classée dans : jeu, vaisseau, super, tir


Répondre à ce message

Sujets en rapport avec ce message

jeu de tir avec score [ par puch19 ] Je dois réaliser un jeu de tir avec affichage des score lorsque click sur la cible.A chaque cible touché, le score augmente de unmon jeu est sur la fr Aide pour un jeu de tir... [ par olithetree ] Bonjour à tous, Ceci est mon tout premier post, et je profite de cette communauté de programmeurs flash pour que vous puissiez m'aider. Je suis entrai Probleme de hittest... [ par ministeeve ] bonjour,j'essaye de monter un petit jeu de shoot, mais j'ai un souci de hittest entre l'enemi et le tir mais pas entre l'enemi et le vaisseau, voulant jeu de tir au but en flash [ par Macca ] Salut, je suis étudiant en infographie et je dois rendre mon travail de fin d'étude au mois de juin, J'aimerais intégrer un jeu réalisé en Flash dans laser d'un jeu de vaisseau [ par snakeeater1 ] bonjour je cherche un code AS pour créer un "laser" pour un jeu de vaisseau mais attention je voudrai que se laser soit continu et démarre lorsque le mode tir d'un jeu de shoot'm up [ par ministeeve ] bonjourje suis en train de cree un jeu shoot'm up, mais se pose a moi un probleme, je n'ai qu'un seul tir possible a la foi,une foi le tir disparu de Jeu de tir, un script pour pourvoir continuer! SVP [ par azertyhik ] Voilà, boujour tout le monde. Je suis en train de déveloper un jeu de tir, et voilà mes problèmes:-Il y a biensur des points et j'aimerais créer un tr A l'aide :(, jeu de tir et coordonnées d'un movie clip introuvable :( [ par spar18 ] Bonjour à tous,Je suis un débutant en actionscript, et j'ai pu trouver ici et là mon bonheur pour façonner petit à petit mon projet :).En fait je suis Divers bugs pour un jeu de vaisseau [ par darxen ] Bonjour à tousJe debute en ActionScript (2.0) et j'ai commencé à faire un petit jeu de vaisseau. (classique quoi).Par contre il reste plein de petit b Jeu flash (jeu de tir) [ par ibrah26 ] Bonjour, je suis nouveau sur le forum. Je suis en train de réaliser un jeu flash. Je me suis inspiré d'un tuto pour cela. C'est un jeu basique où une


Nos sponsors


Sondage...

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

A découvrir



 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 2,621 sec (4)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales