dragonno
Nombre de messages : 341 Localisation : Près de Toulouse Date d'inscription : 22/01/2009
| Sujet: voilà encore une demande aide : jeu test de vaisseau ;) Sam 13 Nov 2010 - 15:46 | |
| J'ai ajouté la téléportation et le tir laser, mais j'essaie d'avoir une gestion des touches plus efficaces donc j'essaie de remplacer le while du code situé dans le topic "partager vos sources" par un timer comme dans le code ci-dessous, mais le programme m'indique dés le lancement que l'objet timer est déjà existant. - Code:
-
' Exemple de gestion d'un vaisseau ' Cet exemple s'affiche en 800 x 600, agrandissez la fenetre pour bien le voir si besoin. ' Touches de déplacement clavier pour jouer et espace pour quitter. REM Cest mon premier test de panoramic ;)
Dim x,y Dim laser_x,laser_y Dim i Dim dir$
x=400 y=300
label cree_vaisseau label gauche label droite label bas label haut label laser label teleporte label tests label affiche
scene2D 1 width 1,800 height 1,600 file_load 1,"stars.bmp" : rem image de fond espace étoilé stretch_on 1
gosub cree_vaisseau
sprite 2 sprite_file_load 2,"laser.bmp" sprite_hide 2
dir$="droite"
timer 1 timer_interval 1,5 on_timer 1, affiche end
affiche: sprite_x_position 1,x sprite_y_position 1,y if dir$="droite" laser_x=x+32 laser_y=y+16 end_if if dir$="gauche" laser_x=x-56 laser_y=y+16 end_if sprite_position 2,laser_x,laser_y if scancode<>27 then gosub tests : else : terminate return
tests: if scancode=37 then gosub gauche : rem fleche gauche if scancode=39 then gosub droite : rem fleche droite if scancode=40 then gosub bas : rem fleche bas if scancode=38 then gosub haut : rem fleche haut if scancode=32 then gosub laser : else : sprite_hide 2 :rem tir laser if scancode=67 then gosub teleporte : rem téléportation du vaisseau return
gauche: sprite_file_load 1,"vaisseau_g.bmp" : rem image vaisseau vers la gauche x=x-1 if x<0 then x=0 dir$="gauche" return
droite: sprite_file_load 1,"vaisseau_d.bmp" : rem image vaisseau vers la droite x=x+1 if x>768 then x=768 dir$="droite" return
bas: y=y+1 if y>568 then y=568 return
haut: y=y-1 if y<0 then y=0 return
laser: sprite_position 2,laser_x,laser_y sprite_show 2 return
teleporte: sprite_hide 2 for i=0 to 9 sprite_scale 1,0.5,0.5 wait 20 next i sprite_delete 1 gosub cree_vaisseau x=int(rnd(600)) y=int(rnd(500)) sprite_position 1,x,y return
cree_vaisseau: sprite 1 sprite_file_load 1,"vaisseau_d.bmp" return
| |
|
Jean Claude
Nombre de messages : 5950 Age : 70 Localisation : 83 Var Date d'inscription : 07/05/2009
| Sujet: Re: voilà encore une demande aide : jeu test de vaisseau ;) Sam 13 Nov 2010 - 16:44 | |
| C'est Normal, vu que tu utilises 2 fois le numéro 1. Une fois pour SCENE2D et une autre pour le TIMER Dans PANORAMIC un numéro ne peut-être utilisé qu'une seule fois pour un objet. Si tu continus, tu vas nous mettre Cosmos en colère... | |
|
dragonno
Nombre de messages : 341 Localisation : Près de Toulouse Date d'inscription : 22/01/2009
| Sujet: Re: voilà encore une demande aide : jeu test de vaisseau ;) Sam 13 Nov 2010 - 20:48 | |
| Mince c'est vrai, mille excuses Bha je suis pas encore habitué à ces numéros :/ mais ça vient Dans ma tête, comme c'est le premier timer que je définissais, bein c'était le niuméro 1 :/ C'est là où la gestion par numéro est pas facile dans cette option-là (c'est pas intuitif quoi) Dommage car panoramic en lui-même est très bien fait et très pratique, j'aurais mis plus de temps pour faire le même programme de vaisseaux, même s'il est court. En plus ça trompe facilement car j'avais déjà donné un numéro 1 à un sprite sans probleme, mais c'est parce que les sprites sont séparés des objets "systeme" dans panoramic donc ça va. | |
|
Contenu sponsorisé
| Sujet: Re: voilà encore une demande aide : jeu test de vaisseau ;) | |
| |
|