Sol 3D pour jeux à la shadow fighter
7 sujets de 1 à 7 (sur un total de 7)
-
Bonjour,
Petit tuto pour les hollywoodiens :
@DISPLAY {mode="ask",width=640, height=480}
; Création d'une Brosse X=640 et Y=1
CreateBrush(1,640,1)
; Sélection de la Brosse
SelectBrush(1)
; Boucle pour réaliser les lignes rouges et bleu
; intercalé chacune de 16 pixel (16 vert clair + 16 vert foncé=32 d'ou le step 32)
For Local X=0 To 640 Step 32
Line(X,0,X+16,0,$008800)
Line(X+16,0,X+32,0,$00AA00)
Next
; Fin de la sélection de brosse
EndSelect
SetFontStyle(#EDGE, #BLACK, 1)
SetFillStyle(#FILLGRADIENT, #LINEAR, $002266, $00AAFF)
;On initialise la seul variable global du programme
XDeplacement=0
Function Sol3D()
StartTimer(1)
Flip
Cls
Local PositionLigneEnX=0
Local ZoomLigneEnX=1.5
Local Droite=IsKeyDown("RIGHT")
Local Gauche=IsKeyDown("LEFT")
If Droite=True Then XDeplacement=XDeplacement+2
If Gauche=True Then XDeplacement=XDeplacement-2
For Local Y=400 To 480
PositionLigneEnX=PositionLigneEnX+(XDeplacement/10)
ZoomLigneEnX=ZoomLigneEnX+0.1
; Ici, on peut aller récupérer chaque ligne d'une image et l'afficher en Sol 3D
; Il faut faire : DisplayBrushPart(1,point X de départ de la copie, point Y de départ de la copie,
; 320+XDeplacement+PositionLigneEnX,Y,Taille de la partie à copier,1,{scaleX=ZoomLigneEnX,anchorx=0.5})
; la commande DisplayBrushPart utilisé comme ci dessus rend le même effet que de la texturisation
DisplayBrush(1,320+XDeplacement+PositionLigneEnX,Y,{scaleX=ZoomLigneEnX,anchorx=0.5})
Next
Local Temps=GetTimer(1)
Box(0,0,640,400)
TextOut (220,20,"Sol 3D pour Beat Them All")
TextOut (160,40," Touche Flèche droite pour aller à droite")
TextOut (160,50," Touche Flèche Gauche pour aller à gauche")
TextOut (0,0,Round((1/Temps)*1000))
TextOut (30,0,"Image par seconde")
EndFunction
; Dans se programme, les variables disent tous
SetInterval(1,Sol3D,20)
BeginDoubleBuffer
Repeat
WaitEvent
Forever
Lien des exe :
http://jeannoel.roueste.free.fr/Amiga/ShadowAOS.exe
http://jeannoel.roueste.free.fr/Amiga/ShadowMorphos.exe
Petit plus pour les fan d’Apower :
Ah! c’est pas mal dis donc, je commence à avoir plein de routine d’effets et de moteur de jeux .
Si, il y en a qui veulent développer des jeux pour ANG (morphos+AOS) qu’il me bip. Un ou 2 programmeur hollywood en plus (même débutant) serait pas du luxe
En tous cas, je suis content, mon moteur de texture fonctionne, un peu lent, mais il fontionne…
Je peux donc continuer mon Moteur sol3D avec des brush pour savoir si sa tourne bien, je vais mettre 2 grands brush dont 1 qui sera possible de bouger et l’autre qui aura une IA simple de déplacement aléatoire.
Par contre sur Sam 440/460 et mac mini, le sol 3D est a combien de FPS? savoir si je l’implémente avec option ou directement dans le moteur final?
@Crisot : Ptdr… pareil, normalement sa devrais être l’inverse… pfff, et pourtant c’est exactement le même code (c’est sa le pire) sauf que j’utilise displaybrushpart pour l’Apower qui est l’image originel du site et Displaybrush qui affiche une image en 2 couleurs…
Je vais un peux me pencher sur se problème dans la semaine… Il se peut que je me soit gouré quelque part
Pssst ! Pour les linuxiens Hollywood 4 fonctionne parfaitement bien sous Wine !
Test de FPS : J’obtiens environ 60 FPS sous Linux Wine avec mon portable sur batterie (Donc 500Mhz en dual-core).
Ma config : Amiga CD32 nue, c'est un super joujou pour rester dans le monde de l'Amiga 🙂
15 fps sur mon Peg 1 (mos 1.4).
https://www.youtube.com/@sayasupa
7 sujets de 1 à 7 (sur un total de 7)
- Vous devez être connecté pour répondre à ce sujet.
› Forums › AmigaOS, MorphOS et AROS › Développement › Sol 3D pour jeux à la shadow fighter