website logo
Auteur
avatar
artblink

Forum » » Création-Développement » » 3 mini moteur Hollywood pour un jeux...


Posté : 26-11-2010 18:05 icone du post

Hello,

Qui peut m'aider à démarrer un petit moteur de jeu avec les layers, j'ai besoin juste d'un point de départ, ensuite sa ira tous seul.

Voici en cadeau 2 techniques d'animation

1 - Technique d'animation avec les Sprites:


@SCREEN?{Mode?=?"ask",?Width?=?320,?Height?=?256}
@SPRITE?1,"Fighter1.bmp",{width=52,height=52,frames=4,FPR=4,Transparency?=?#W HITE}

X=160
Y=100
XB=1

LeftMouseQuit(True)
EscapeQuit(True)

Function?Joueur()
????If?IsKeyDown("Left")=False?And?IsKeyDown("Right")=False?Then?xb=1
????If?IsKeyDown("Left")=True?Then?Gauche()
????If?IsKeyDown("Right")=True?Then?Droite()
????DisplaySprite(1,X,Y,XB)
EndFunction

Function?Gauche()
????X=X-10
????XB=0
????If?X<10?Then?X=10
EndFunction

Function?Droite()
????X=X+10
????XB=0
????If?X>640?Then?X=640
EndFunction

Function?PRG()
????Joueur()
EndFunction

SetInterval(1,PRG,1000/15)

Repeat
WaitEvent
Forever



1 - Technique d'animation avec les Brush (double buffering):


@SCREEN?{Mode?=?"ask",?Width?=?320,?Height?=?256}
LoadBrush(1,?"Fighter1.bmp",?{Transparency?=?#WHITE})

X=160
Y=100
XB=52
SB=52

LeftMouseQuit(True)
EscapeQuit(True)

Function?Joueur()
????If?IsKeyDown("Left")=False?And?IsKeyDown("Right")=False?Then?xb=0
????If?IsKeyDown("Left")=True?Then?Gauche()
????If?IsKeyDown("Right")=True?Then?Droite()
????DisplayBrushPart(1,XB,0,X,Y,52,52)
EndFunction

Function?Gauche()
????If?XB=0?Then?SB=52
????X=X-10
????XB=XB+SB
????If?XB=156?Then?SB=-52
????If?XB=52?Then?SB=52
????If?X<10?Then?X=10
EndFunction

Function?Droite()
????If?XB=0?Then?SB=52
????X=X+10
????XB=XB+SB
????If?XB=156?Then?SB=-52
????If?XB=52?Then?SB=52
????If?X>640?Then?X=640
EndFunction

Function?PRG()
????Flip
????Cls
????Joueur()
EndFunction

SetInterval(1,PRG,1000/15)
BeginDoubleBuffer

Repeat
WaitEvent
Forever



3 - Technique d'animation avec layers :


JE?SECHE?LOL



Bon, vous inquiétez pas, le déplacement de l'objet se fait de 10 par 10 pixels (normal l'objet est assez grand 52x52), j'utilise une image de 4x52pixel (animation en 3 partie car le premier 0,0 à 52x52 est la position statique de l'animation de l'objet entre autre un homme qui marche)

@SPRITE 1,"Fighter1.bmp",{width=52,height=52,frames=4,FPR=4,Transparency = #WHITE} défini une animation de 4 image de 52x52 sur 4 colones (4 images sur la même ligne découper à partir d'une même image)
tandis que DisplayBrushPart(1,XB,0,X,Y,52,52) fais en plus le déplacement de l'objet XB étant l'offset (en pixel) qui permet d'aller chercher dans une image la partie qui nous intéresse.

J'ai créer une planche de 640x480 ou toutes les images de l'animation sont affichées, sa me permet de piquer de n'importe ou l'image 52x52 qui m'intéresse sur l'image global de 640x480.

Qui peut m'aider pour les layers parmis les nombreux programmeurs francais Hollywood

Merci d'avance
Edit:
@citronsgate: T'as vu, j'ai écouter tes conseils : Code indenter
Fin Edit
Respect
Message édité par : artblink / 26-11-2010 18:40

Cet article provient de Le site des utilisateurs francophones actuels et futurs d'AmigaOS 4.x
https://amiga-ng.org/viewtopic.php?topic=923&forum=14