S'abonner :  Newsletters    Magazines
Ergonomie Graver Hardware Internet Mobilité Musique Photo Sécurité Système TV Vidéo Wiki

Small Basic

Programmez vos jeux en Small Basic 0.2

Une nouvelle version de Small Basic est disponible depuis quelques jours. Cette édition "Décembre 2008", numérotée "0.2" corrige de nombreux bugs et ajoute de nouvelles fonctions. Elle est surtout l'occasion de découvrir les premiers jeux écrits en Small Basic, dont les codes sources vous aideront à créer votre propre jeu vidéo. Nous allons vous livrer ici quelques clés pour mieux comprendre la création de jeux en Small Basic.
imprimer
l'article
partager sur Viadeo
partager sur Facebook
partager sur LinkedIn
partager sur Scoopeo
partager sur Technorati
partager sur Digg
partager sur Delicious
partager sur Google
partager sur Myspace
partager sur Yahoo!
Niveau : débutant
Temps : 15 minutes
Download - Télécharger Small Basic (gratuit)Small Basic (gratuit)
Animation des Shapes
E

Etape 4/5: Animation des Shapes

La commande GraphicsWindow comporte plusieurs fonctions de gestion des Shapes.

Comme nous l'avons vu dans l'exemple précédent, les commandes Add permettent d'associer une variable à une forme géométrique. En Small Basic on appelle cela "nommer" une Shape.
Par exemple:
Trian1 = GraphicsWindow.AddTriangle(50,0,100,100,0,100)
définit un triangle nommé Trian1

La commande MoveShape permet de positionner la forme définie aux coordonnées spécifiées.
Par exemple:
GraphicsWindow.MoveShape(Trian1,200,200)
positionne le triangle nommé Trian1 (et définit plus haut) à la position x=200, y=200 à l'écran.

La commande AnimateShape permet d'animer automatiquement une forme. Il ne s'agit pas véritablement d'une animation mais plutôt d'un déplacement fluide en précisant une destination et le temps que doit mette la forme pour arriver à destination.
Par exemple:
GraphicsWindow.MoveShape(Trian1,0,0,1000)
anime le triangle en le déplaçant vers la position [0,0] en 1 seconde (1000 millisecondes).

La commande RotateShape effectue une rotation de la forme sur elle-même.
Par exemple la séquence suivante imprime un déplacement et une rotation au triangle Trian1:
For i = 0 To 360
GraphicsWindow.MoveShape(Trian1,i,i)
GraphicsWindow.RotateShape(Trian1,i)
Program.Delay(10)
EndFor

Les commandes GetLeftOfShape et GetTopOfShape donnent les coordonnées du coin supérieur gauche d'un rectangle qui entourerait la forme. On l'utilise pour la détection de collision de formes.
Par exemple...
CollX = GraphicsWindow.GetLeftOfShape(Trian1)

Enfin la commande RemoveShape permet de supprimer une forme de l'affichage. C'est très utile dans un jeu pour éliminer dé l'écran un ennemi qui a été détruit par exemple.
Par exemple;
GraphicsWindow.RemoveShape(Trian1)
Efface l'objet Trian1 de l'écran.

L'exemple ci-dessous anime une balle et un triangle à l'écran pour illustrer le fonctionnement des différentes fonctions Shape:

' Initialisations
GraphicsWindow.MouseDown = OnClick
GraphicsWindow.Top = 10
GraphicsWindow.Left = 10
GraphicsWindow.Width = 600
GraphicsWindow.Height = 400
'
GraphicsWindow.pencolor="Green"
GraphicsWindow.BrushColor="LightGreen"
Trian = GraphicsWindow.AddTriangle(50,0,100,100,0,100)
'
GraphicsWindow.pencolor="Blue"
GraphicsWindow.BrushColor="LightBlue"
Ball = GraphicsWindow.AddEllipse(50,50)
'
XT = 0
XB = 0
YB = 0
DeltaXT = 1
AngleT = 1
DeltaXB = 1
DeltaYB = 1
'
GW = GraphicsWindow.Width
GH = GraphicsWindow.Height
'
' BOUCLE PRINCIPALE
Boucle:
AnimeLeTriangle()
AnimeLeCercle()
DetecteCollision()
GraphicsWindow.MoveShape(Trian,XT,200)
GraphicsWindow.RotateShape(Trian,AngleT)
GraphicsWindow.MoveShape(Ball,XB,YB)
Program.Delay(5)
Goto Boucle

' Gestion du Triangle

Sub AnimeLeTriangle
XT = XT + DeltaXT
If (XT >= GW-50 Or XT <= 0) Then
DeltaXT = -DeltaXT
Endif
AngleT = AngleT+1
If AngleT > 360 Then
AngleT = 1
EndIf
EndSub

' Gestion du Cercle

Sub AnimeLeCercle
XB = XB + DeltaXB
If (XB >= GW-50 Or XB <= 0) Then
DeltaXB = -DeltaXB
Endif
YB = YB + DeltaYB
If (YB >= GH-50 Or YB <= 0) Then
DeltaYB = -DeltaYB
Endif
EndSub

' Collision simplifiée
Sub DetecteCollision
collX = GraphicsWindow.GetLeftOfShape(Trian)
collY = GraphicsWindow.GetTopOfShape(Trian)
If (XB+50 >= collX and XB <= CollX+50) And (YB+50 >= collY And YB <= collY+50) Then
deltaYB = -DeltaYB
EndIf
EndSub

' On quitte quand l'utilisateur clique

Sub OnCLick
Program.End()
EndSub

 

Astruces Small Basic (gratuit)
Ce qu'il vous faut
Small Basic (gratuit)
Download - Telechargement gratuit Small Basic (gratuit)
Matériel : - Rien
Précédent A la découverte des SHAPES 1 - 2 - 3 - 4 - 5 Des exemples de jeux suivant
> Logiciel :
Magix Vidéo Easy
Créez vos films le plus simplement du monde...

publicité
la rédaction vous répond
Comment marchent les mouchards de la route ? Pour contrer les multiples radars qui envahissent nos bords de routes, certaines entreprises commercialisent des...
-
wiki

wiki des astuces

définition du jour

-

toutes les définitions

  • A
  • B
  • C
  • D
  • E
  • F
  • G
  • H
  • I
  • J
  • K
  • L
  • M
  • N
  • O
  • P
  • Q
  • R
  • S
  • T
  • U
  • V
  • W
  • X
  • Y
  • Z
  • Autres
-
NOUVEAU sur Windows
Tout le Web sur votre bureau : plus d’un millier de flux et widgets…

Service 01net
Newsletters 01net
abonnez vous gratuitement !
  
01Informatique
01 INFORMATIQUE
L'hebdo de référence des décideurs informatiques.
Micro Hebdo
MICRO HEBDO
L'hebdo qui vous simplifie la micro
et Internet.
L'Ordinateur Individuel
L'ORDINATEUR INDIVIDUEL
Le mensuel informatique qui vous informe et vous conseille.
Nous contacter  |  Charte de confiance  |  Voir notice légale

01net.  -  01men  -  RMC  -  BFM Radio  -  BFM TV  -  TousLesPodcasts  -  01informatique.fr  -  Association RMC-BFM
Tous droits réservés © 1999 - 2009 Internext - 01net.