Marc
Nombre de messages : 2466 Age : 63 Localisation : TOURS (37) Date d'inscription : 17/03/2014
| Sujet: Une commande pour mettre au premier plan un sprite Ven 8 Juil 2022 - 13:03 | |
| Bonjour à tous ! Idée / suggestion : Une commande SPRITE_TO_FOREGROUND N serait utile pour mettre au premier plan un sprite par rapport aux autres sprites présents dans une scène 2D. Lors du déplacement d’un sprite, celui-ci peut être occulté par la présence d’un autre sprite sur son chemin. Dans certains cas, cela est gênant, d’où l’idée d’une commande SPRITE_TO_FOREGROUND N. Ci-dessous, un code-source permettant de tester l’ordre d’affichage des plans des sprites. Le code autorise également le déplacement des sprites : tapez le numéro du sprite à déplacer et utilisez les flèches de direction pour le mouvoir. - Code:
-
dim numeroSprite% label deplace dessinerInterfaceGraphique() numeroSprite% = 1 caption 0,"Tapez le numéro de SPRITE à déplacer puis utilisez les flèches de direction." on_key_down 0,deplace end
deplace: select scancode case 97 numeroSprite% = 1 caption 0,"Sprite sélectionné : " + str$(numeroSprite%) ' sprite_to_foreground 1 case 98 numeroSprite% = 2 caption 0,"Sprite sélectionné : " + str$(numeroSprite%) ' sprite_to_foreground 2 case 99 numeroSprite% = 3 caption 0,"Sprite sélectionné : " + str$(numeroSprite%) ' sprite_to_foreground 3 case 37 sprite_x_position numeroSprite%,sprite_x_position(numeroSprite%)-3 case 38 sprite_y_position numeroSprite%,sprite_y_position(numeroSprite%)-3 case 39 sprite_x_position numeroSprite%,sprite_x_position(numeroSprite%)+3 case 40 sprite_y_position numeroSprite%,sprite_y_position(numeroSprite%)+3 end_select return
sub dessinerInterfaceGraphique() ' créer un PICTURE de fond noir pour effectuer les dessins picture 1 2d_target_is 1 print_target_is 1 font_name 1,"Consolas" font_size 1,30
' créer une scène 2D scene2d 2 full_space 2
' dessiner le sprite n°1 (boule rouge) color 1,0,0,0 2d_pen_color 255,50,50 2d_fill_color 255,50,50 2d_circle 30,30,30 print_locate 18,6 print "1" image 3 2d_image_copy 3,0,0,60,60 sprite 1 sprite_image_load 1,3 sprite_position 1,70,100
' dessiner le sprite n°2 (boule verte) color 1,0,0,0 2d_pen_color 100,255,100 2d_fill_color 100,255,100 2d_circle 30,30,30 print_locate 18,6 print "2" 2d_image_copy 3,0,0,60,60 sprite 2 sprite_image_load 2,3 sprite_position 2,100,135
' dessiner le sprite n°3 (boule bleue) color 1,0,0,0 2d_pen_color 100,100,255 2d_fill_color 100,100,255 2d_circle 30,30,30 print_locate 18,6 print "3" 2d_image_copy 3,0,0,60,60 sprite 3 sprite_image_load 3,3 sprite_position 3,150,115 end_sub
Bonne journée à tous ! | |
|
Klaus
Nombre de messages : 12331 Age : 75 Localisation : Ile de France Date d'inscription : 29/12/2009
| Sujet: Re: Une commande pour mettre au premier plan un sprite Ven 8 Juil 2022 - 14:50 | |
| A l'heure actuelle, tu peux simuler ce comportement de la manière suivante: pour passer un sprite par-dessus tous les autres, il faut: 1. supprimer ce sprite 2. recréer un sprite du même numéro (ou d'un autre numéro en plaçant ce nouveau numéro dans une variable dédiée à ce sprite) 3. lui donner le même aspect que le sprite original (image, forme, taille, position) Il sera alors par-dessus tous les autres, quelque soit le déplacement. | |
|
Marc
Nombre de messages : 2466 Age : 63 Localisation : TOURS (37) Date d'inscription : 17/03/2014
| Sujet: Re: Une commande pour mettre au premier plan un sprite Ven 8 Juil 2022 - 14:59 | |
| Bonjour Klaus ! - Klaus a écrit:
- A l'heure actuelle, tu peux simuler ce comportement de la manière suivante:
pour passer un sprite par-dessus tous les autres, il faut: 1. supprimer ce sprite... Tu as tout à fait raison, c'est déjà la technique que j'emploie. | |
|
Contenu sponsorisé
| Sujet: Re: Une commande pour mettre au premier plan un sprite | |
| |
|