Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- InitSprite() : InitKeyboard()
- #RESOLUTION_X = 800
- #RESOLUTION_Y = 600
- OpenWindow(0,0,0,#RESOLUTION_X,#RESOLUTION_Y,"")
- OpenWindowedScreen(WindowID(0),0,0,#RESOLUTION_X,#RESOLUTION_Y)
- Dim Level.c(5,5) ; niveau cartésien "normal"
- Level(0,0) = 1 : Level(1,0) = 1 : Level(2,0) = 1 : Level(3,0) = 1 : Level(4,0) = 1
- Level(0,1) = 0 : Level(1,1) = 1 : Level(2,1) = 1 : Level(3,1) = 0 : Level(4,1) = 0
- Level(0,2) = 0 : Level(1,2) = 1 : Level(2,2) = 1 : Level(3,2) = 0 : Level(4,2) = 0
- Level(0,3) = 0 : Level(1,3) = 1 : Level(2,3) = 1 : Level(3,3) = 0 : Level(4,3) = 0
- Level(0,4) = 1 : Level(1,4) = 1 : Level(2,4) = 1 : Level(3,4) = 1 : Level(4,4) = 1
- TARGET_X = 0
- TARGET_Y = 0
- CreateSprite(0,64,64)
- StartDrawing(SpriteOutput(0))
- DrawingMode(#PB_2DDrawing_AlphaChannel)
- Box(0,0,64,64,RGBA(255,0,0,0))
- DrawingMode(#PB_2DDrawing_AlphaBlend)
- LineXY(0,32,32,16,RGBA(255,255,255,255))
- LineXY(32,16,64,32,RGBA(255,255,255,255))
- LineXY(64,32,32,48,RGBA(255,255,255,255))
- LineXY(32,48,0,32,RGBA(255,255,255,255))
- StopDrawing()
- While #True
- Repeat
- event = WindowEvent()
- If event = #PB_Event_CloseWindow
- End
- EndIf
- Until event = 0
- If Timer < ElapsedMilliseconds()
- Timer = ElapsedMilliseconds() + 1000
- TARGET_X + 1
- If TARGET_X>4
- TARGET_X=0
- TARGET_Y+1
- EndIf
- If TARGET_Y>4
- TARGET_X=0
- TARGET_Y=0
- EndIf
- EndIf
- ClearScreen(0)
- ; on calcule la cible (cartesian / isometrique)
- ;
- TARGET_ISO_X.f = (TARGET_X - TARGET_Y) * (SpriteWidth(0)/2)
- TARGET_ISO_Y.f = ((TARGET_X + TARGET_Y) / 2) * (SpriteHeight(0)/2)
- ; affichage
- ;
- For y = 0 To 4
- For x = 0 To 4
- ; On projete de cartesian a isometrique
- iso_x.f = x - y
- iso_y.f = (x+y) / 2
- ; on scale avec la taille du sprite
- pos_iso_x.f = iso_x * (SpriteWidth(0)/2)
- pos_iso_y.f = iso_y * (SpriteHeight(0)/2)
- ; on centre sur l'écran la map
- offset_x = (#RESOLUTION_X/2) - TARGET_ISO_X
- offset_y = (#RESOLUTION_Y/2) - TARGET_ISO_Y
- spriteOriginX = (SpriteWidth(0)/2)
- spriteOriginY = (SpriteHeight(0)/2)
- final_x.f = (pos_iso_x - spriteOriginX) + offset_x
- final_y.f = (pos_iso_y - spriteOriginY) + offset_y
- If Level(x,y) = 1
- DisplayTransparentSprite(0,final_x,final_y)
- StartDrawing(ScreenOutput())
- DrawText(final_x+20,final_y+24,Str(x)+":"+Str(y))
- StopDrawing()
- Else
- DisplayTransparentSprite(0,final_x,final_y,64)
- StartDrawing(ScreenOutput())
- DrawText(final_x+20,final_y+24,Str(x)+":"+Str(y))
- StopDrawing()
- EndIf
- Next
- Next
- StartDrawing(ScreenOutput())
- DrawingMode(#PB_2DDrawing_Outlined)
- Circle(#RESOLUTION_X/2,#RESOLUTION_Y/2,16,RGB(255,0,0))
- StopDrawing()
- FlipBuffers()
- Wend
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement