Page 1 sur 1

[OK] Positionnement de sprite dans screen via structure

Publié : sam. 10/oct./2015 21:20
par Ar-S
Salut,

Pour m'aérer la tête de mon shoot m up je me fait un petit casse brique à l'ancienne.
J'ai aucun soucis pour positionner mes briques via un tableau et une structure brique mais je n'arrive étrangement pas à positionner ma Palette

Code : Tout sélectionner

; CASSE BRIQUE

Declare Init_Palette()

InitSprite()
InitKeyboard()
InitMouse()
UsePNGImageDecoder()


Structure PALETTE
    x.i ; Pos X
    y.i ; Pos Y
    v.b ; Vitesse
    Mode.b ; Effets sur brique spéciale
EndStructure



Global Hscreen = 600, Lscreen = 800


; Ici les bonnes valeurs s'affichent
Procedure Init_Palette()
  P.Palette\x = Lscreen/2 - SpriteWidth(18)/2
  P.Palette\y = 500
  Debug "Position X de la palette : " + P.Palette\x
  Debug "Position Y de la palette : " + P.Palette\Y
EndProcedure




OpenWindow(0, 0, 0, Lscreen, Hscreen, "Test", #PB_Window_SystemMenu|#PB_Window_ScreenCentered)
OpenWindowedScreen(WindowID(0), 0, 0, Lscreen, Hscreen)

CreateSprite(18,140,20,4)
StartDrawing(SpriteOutput(18))
Box(0,0,140,20,$00FF00)
StopDrawing()

Init_Palette()



Repeat   
  Repeat
    Event = WindowEvent()
    
    Select Event    
      Case #PB_Event_CloseWindow
        End
    EndSelect  
  Until Event=0
  
  ClearScreen(0)
  ExamineKeyboard()

; Ici mes coordonnées ne sont pas prises en compte.
DisplayTransparentSprite(18,  P.Palette\X, P.Palette\Y, 255)

  
  FlipBuffers()
  
Until KeyboardPushed(#PB_Key_Escape)


Re: Positionnement de sprite dans screen via structure

Publié : sam. 10/oct./2015 21:29
par falsam
Parce que P.Palette n'est pas global.

Ajoute Global P.Palette sous ta structure

Re: Positionnement de sprite dans screen via structure

Publié : sam. 10/oct./2015 21:37
par Ar-S
Ah bordel, merci.. Je me suis fait avoir parce que j'avais tester le shared p.palette\x et p.palette\y dans ma proce et ça n'avais rien changé (ce que je trouve bizarre d'ailleurs).
Moi qui suis un habitué des global, ça m'apprendra à vouloir changer de méthode.

Merci