website logo
Auteur
avatar
artblink

Forum » » Création-Développement » » Outrun Holly démo ;-)


Posté : 27-02-2011 17:03 icone du post

Hello,

Voyez se que l'on peut faire avec holly

Vos FPS?

http://jeannoel.roueste.free.fr/Amiga/outrun6800x0.exe
http://jeannoel.roueste.free.fr/Amiga/outrunAOS4.exe
http://jeannoel.roueste.free.fr/Amiga/outrunMorphos.exe
http://jeannoel.roueste.free.fr/Amiga/outrunWarpos.exe

Attention, la version 6800x0 nécessite OBLIGATOIREMENT une carte GFX.

Edit: J'avais oublié le code


@DISPLAY {width=640, height=480}

BeginDoubleBuffer

Dim ZMap[200]

;Initialize ZMap
For A = 1 To 200
ZMap[A] = 1/ (A - 240)
Next

; Normalize ZMap so the Line with the  ;player on it is
;scale=1 (Or would be
; If we had a player sprite :))
Local b = 1 / ZMap[8]
Local b = b * 100 ;in percents becaus e QBasic's MOD is lame

For Local A = 1 To 200
    ZMap[A] = ZMap[A] * b
Next

; Draw the road
TexOffset = 100
SegY = 200

CreateBrush(1,320,1,#GRAY)
SelectBrush(1)
Line(0,0,20,0,#WHITE)
Line(300,0,320,0,#WHITE)
EndSelect

CreateBrush(2,320,1,#GRAY)
SelectBrush(2)
Line(0,0,20,0,#RED)
Line(300,0,320,0,#RED)
Line(158,0,162,0,#WHITE)
EndSelect

SetFillStyle(#FILLGRADIENT, #LINEAR, $002266, $00AAFF)

CreateBrush(3,640,280,#BLACK)
SelectBrush(3)
Box(0,0,640,280)
EndSelect

Repeat
    StartTimer(1)
    If IsKeyDown("UP")
        scrollspeed=Min(scrollspeed+0 .05,20)
    Else
        scrollspeed=Max(scrollspeed-0 .2,0)
    EndIf


    ; Set up the frame
    Local X = 320
    Local HalfWidth = 220
    Local ScreenLine = 480
    Local MX=(MouseX()-512)/512
    
    For Local A = 0 To 200< br />        X = X + M X
        Local Calcule=(ZMap[A]&n bsp;+ TexOffset) % 100 
        If Calcule> 50
            Grass Color = #GREEN
            RoadC olor = #GRAY
            br=1< br />        Else
            Grass Color = #OLIVE
            RoadC olor = #SILVER
            br=2< br />        EndIf

    Local sx=((X + HalfWidth)-(X -&nb sp;HalfWidth))/320

    DisplayBrush (br,X - HalfWidth, S creenLine,{scalex=sx,smoothscale=False})

    Line (0, ScreenLine, X - Hal fWidth, ScreenLine,GrassColor)
    Line (X + HalfWidth, ScreenLine,& nbsp;639,ScreenLine, GrassColor)
    HalfWidth = HalfWidth - 1
    ScreenLine = ScreenLine - 1

    
    
    Next

    ; Wrap positions (fractional):

    TexOffset=Wrap(TexOffset + ScrollSpeed,&nbs p;0, 100)

    DisplayBrush (3,0,0)
        
    ; On récupère le te mps du chrono    
    Local Temps=GetTimer(1)
    ; On affiche la vitesse en&n bsp;FPS
    TextOut(0,0,Round((1/Temps)*1000))
    TextOut(30,0,"Images par seconde")
    TextOut(#CENTER,20,"APPUYER sur la tou che Fleche HAUT pour accélérer")
    TextOut(#CENTER,50,"--------------------------------- -----")
    TextOut(#CENTER,60,"- Programme original&nb sp;de Lazar Zoltan -")
    TextOut(#CENTER,70,"-   Code sour ce original en QBasic   -")
    TextOut(#CENTER,80,"-  Modifié  & optimiser par Artblink  -")
    TextOut(#CENTER,90,"--------------------------------- -----")

    ; On remet le chronomètre& nbsp;à zéro
    ResetTimer(1)

    Flip
    Cls
Forever 



Message édité par : artblink / 27-02-2011 17:06

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