Home      Downloads             Documentation      FAQ     

Documentation>Tutoriel > Etape 5

Le tir:

Nous allons désormais programmer le tir. Pour cela, créez un nouveau Tile en appuyant sur CTRL + T. Dessinez un rectangle de façon à l'avoir à peu près à la même hauteur que l'hélicoptère.

Pour pouvoir gérer son affichage automatiquement, nous devons créer un sprite correspondant à ce Tile.

Dans le menu, faites File > New> Sprite ou bien simplement appuyez sur CTRL + L

Glisser-déplacez le nouveau tile dans les tiles de l'action par défaut. Il ne sera pas nécessaire de renommer l'action, car il n'y en aura qu'une. Nous devons renommer le sprite de manière plus approprié. Dans la fenetre "Project Explorer", cliquez une fois sur le nouveau sprite que vous venez de créer. Puis en faisant un click droit, faites afficher le menu contextuel dans lequel vous choisissez "Rename File". Renommez le sprite en "Fire".

Dans la fenêtre "Project Explorer", double cliquez sur Map1 pour faire afficher la carte du jeu. Vous pouvez remarquer que parmi les sprites, il y a notre nouveau sprite "Fire". Par contre il n'apparait pas dans la liste à droite, ce qui est normal car nous ne l'avons pas encore ajouté au jeu.

Faites un glisser-déplacer du sprite "Fire" n'importe où dans le map (le grand rectangle blanc). Les propriété de notre sprite qui va apparaitre dans le jeu, apparaissent désormais dans la liste.

Il faut bien faire la distinction entre Fire2 et Fire. En effet, Fire2 est le nom du sprite qui va apparaitre dans le jeu, tandis que Fire est le nom du modele de sprite, Fire est quelque chose d'abstrait.

Mettez la propriété Visible du sprite Fire2 à False. En effet, nous concevons le jeu de manière à voir le feu que lorsque l'utilisateur appui sur 2ND. Ce qui sera décrit dans la procédure MapDisplay.

Nous nous soucions pas des autres propriétés de Fire2 ici car ils vont etre modifié au moment de l'execution. Il faut donc les attribuer en codant.

Tout d'abord, déclarons une variable locale qui retiendra la vitesse (et donc le sens) du mouvement du Fire2. Nous poserons 0 pour "pas de mouvement", -3 pour "tir vers la gauche", 3 pour "tir vers la droite".

Local FireVel as Integer
FireVel = 0

Programmons maintenant la gestion de la touche. Si l'utilisateur appuie sur 2ND et que l'hélicoptère n'est pas affiché (KEY89_2ND And fire2.visible = 0) , il faut le faire afficher (fire2.visible = 1), le mettre à la même hauteur que l'hélicoptère (fire2.y = helicopter1.y)

Si l'hélicoptère est dirigé vers la gauche, le tir aura une vitesse de -3, si l'hélicoptère est dirigé vers la droite, le tir aura une vitesse de 3.

If KEY89_2ND And fire2.visible = 0 Then
	fire2.visible = 1
	fire2.y = helicopter1.y
	
	If helicopter1.action = 2 Then
		FireVel=-3
	ElseIf helicopter1.action = 1 Then
		FireVel=3
	EndIf
EndIf

Maintenant il faut programmer le déplacement du tir. Il suffit d'ajouter la ligne: fire2.x = fire2.x + FireVel

Mais il faut faire ça uniquement lorsqu'un tir est en route. C'est pourquoi il faut le mettre sous condition. On peut aussi mettre une condition pour "finir" le tir lorsqu'il est au dela de la visibilité de l'écran.

If fire2.visible = 1 Then
fire2.x = fire2.x + FireVel
If fire2.x > cam.x + 160 Or fire2.x +16 < cam.x Then
fire2.visible = 0
EndIf
EndIf

Compilez et faites marcher votre programme. Vous verrez que votre hélicoptère peut maintenant faire des tirs!

Si votre programme ne fonctionne pas, vous avez probablement oublié de mettre la propriété "Visible" de "fire" à False. Editez le map pour corriger.

Télécharger le projet helico_step5

La suite>>>

 

   

 

 

     
    About ETP Contact Us