[OK] Positionnement de sprite dans screen via structure

Vous débutez et vous avez besoin d'aide ? N'hésitez pas à poser vos questions
Avatar de l’utilisateur
Ar-S
Messages : 9540
Inscription : dim. 09/oct./2005 16:51
Contact :

[OK] Positionnement de sprite dans screen via structure

Message 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)

Dernière modification par Ar-S le sam. 10/oct./2015 21:37, modifié 1 fois.
~~~~Règles du forum ~~~~
⋅.˳˳.⋅ॱ˙˙ॱ⋅.˳Ar-S ˳.⋅ॱ˙˙ॱ⋅.˳˳.⋅
W11x64 PB 6.x
Section HORS SUJET : ICI
LDV MULTIMEDIA : Dépannage informatique & mes Logiciels PB
UPLOAD D'IMAGES : Uploader des images de vos logiciels
Avatar de l’utilisateur
falsam
Messages : 7324
Inscription : dim. 22/août/2010 15:24
Localisation : IDF (Yvelines)
Contact :

Re: Positionnement de sprite dans screen via structure

Message par falsam »

Parce que P.Palette n'est pas global.

Ajoute Global P.Palette sous ta structure
Configuration : Windows 11 Famille 64-bit - PB 6.20 x64 - AMD Ryzen 7 - 16 GO RAM
Vidéo NVIDIA GeForce GTX 1650 Ti - Résolution 1920x1080 - Mise à l'échelle 125%
Avatar de l’utilisateur
Ar-S
Messages : 9540
Inscription : dim. 09/oct./2005 16:51
Contact :

Re: Positionnement de sprite dans screen via structure

Message 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
~~~~Règles du forum ~~~~
⋅.˳˳.⋅ॱ˙˙ॱ⋅.˳Ar-S ˳.⋅ॱ˙˙ॱ⋅.˳˳.⋅
W11x64 PB 6.x
Section HORS SUJET : ICI
LDV MULTIMEDIA : Dépannage informatique & mes Logiciels PB
UPLOAD D'IMAGES : Uploader des images de vos logiciels
Répondre