...

Vous débutez et vous avez besoin d'aide ? N'hésitez pas à poser vos questions
Avatar de l’utilisateur
Chris
Messages : 3731
Inscription : sam. 24/janv./2004 14:54
Contact :

Message par Chris »

Avec des Sprite3D, en mettant de la transparence, ça le fait.

Code : Tout sélectionner

#Window = 0
#Width = 300
#Height = 300
#Timer = 0

#SpriteFixe_1 = 10
#SpriteFixe_2 = 11
#SpriteFixe_3 = 12

#Spr3D_1 = 100
#Spr3D_2 = 101
#Spr3D_3 = 102

;- Initialisation de DirectX
If InitSprite() = 0 Or InitKeyboard() = 0 Or InitMouse() = 0 Or InitSprite3D() = 0
  MessageRequester("Erreur", "Impossible d'initialiser DirectX", 0)
  CloseWindow(#Window) : End
EndIf

;- Ouverture de la fenêtre et de l'écran
hwnd = OpenWindow(#Window, 0, 0, #Width, #Height, #PB_Window_TitleBar | #PB_Window_ScreenCentered, "")
OpenWindowedScreen(hwnd, 0, 0, #Width, #Height, 0, 0, 0)

If CreateSprite(#SpriteFixe_1,80,80,#PB_Sprite_Texture)
  StartDrawing(SpriteOutput(#SpriteFixe_1))
  Circle(40,40,40,RGB($FF,$0,$0))
  StopDrawing()
  CreateSprite3D(#Spr3D_1,#SpriteFixe_1)
EndIf

If CreateSprite(#SpriteFixe_2,80,80,#PB_Sprite_Texture)
  StartDrawing(SpriteOutput(#SpriteFixe_2))
  Circle(40,40,40,RGB($0,$FF,$0))
  StopDrawing()
  CreateSprite3D(#Spr3D_2,#SpriteFixe_2)
EndIf

If CreateSprite(#SpriteFixe_3,80,80,#PB_Sprite_Texture)
  StartDrawing(SpriteOutput(#SpriteFixe_3))
  Circle(40,40,40,RGB($0,$0,$FF))
  StopDrawing()
  CreateSprite3D(#Spr3D_3,#SpriteFixe_3)
EndIf

Repeat
  ClearScreen(255, 255, 255)
  
  Start3D()
  DisplaySprite3D(#Spr3D_1,100,100,128)
  DisplaySprite3D(#Spr3D_2,140,100,128)
  DisplaySprite3D(#Spr3D_3,120,120,128)
  Stop3D()
  
  FlipBuffers()
  Delay(1)
  
  ExamineKeyboard()
  While WindowEvent() : Wend
  If KeyboardPushed(#PB_Key_Escape) : quit = 1 : EndIf
Until quit = 1
Psycode
Messages : 131
Inscription : lun. 23/août/2004 18:47
Localisation : Jupiter ?

Message par Psycode »

...
Dernière modification par Psycode le ven. 03/sept./2004 17:18, modifié 4 fois.
Wait And See...
Psycode
Messages : 131
Inscription : lun. 23/août/2004 18:47
Localisation : Jupiter ?

Message par Psycode »

...
Dernière modification par Psycode le ven. 03/sept./2004 17:18, modifié 1 fois.
Wait And See...
garzul
Messages : 683
Inscription : mer. 26/mai/2004 0:33

Message par garzul »

:D Ah bon ? Rahhhhhhh j'ai coder pour rien ma routine :? c'est malin de me faire travailler ^^
garzul
Messages : 683
Inscription : mer. 26/mai/2004 0:33

Message par garzul »

Tu as sa que jai coder en 10 minute

Code : Tout sélectionner

;Demonstration superposition de couleur 

Enumeration

  #Point
  #Point2
endenumeration
;Initialisation des composant

InitKeyboard() : InitSprite()

 
  x = 500
  y = 200

  vitx = 4
  vity = 4
  
  r = 400
  
  vitr = 5
  
  couleurpoint1.l = RGB($8A,$E0,$75)
  couleurpoint2.l = RGB($E6,$3A,$19)

;ouverture fenetre

  OpenScreen(1024,768,32,"Superposition")

;procedure des point 



    CreateSprite(#Point,80,80,#PB_Sprite_Memory)
      StartDrawing(SpriteOutput(#point))
      Box(a,b,80,80,couleurpoint1)
    StopDrawing()
     
    CreateSprite(#Point2,80,80,#PB_Sprite_Memory)
      StartDrawing(SpriteOutput(#point2))
      Box(a,b,80,80,couleurpoint2)
    StopDrawing()



;================== boucle ======================================


Repeat

  FlipBuffers()
  ClearScreen(0,0,0)

x + vitx
y + vity
r + vitr

If x > 940 : vitx =- vitx : EndIf
If x < 0   : vitx=-vitx : EndIf
If y > 700 : vity=-vity : EndIf
If y < 0   : vity=-vity : EndIf
If r > 940 : vitr=-vitr : EndIf
If r < 0   : vitr=-vitr : EndIf


DisplayTranslucideSprite(#point,x,y,90)
DisplayTranslucideSprite(#point2,r,y,90)

  ExamineKeyboard() 

Until KeyboardPushed(#PB_Key_Escape)

End
Psycode
Messages : 131
Inscription : lun. 23/août/2004 18:47
Localisation : Jupiter ?

Message par Psycode »

...
Dernière modification par Psycode le ven. 03/sept./2004 17:19, modifié 1 fois.
Wait And See...
Dr. Dri
Messages : 2527
Inscription : ven. 23/janv./2004 18:10

Message par Dr. Dri »

on m'appelle ?
sinon c pas difficile une routine d'affichage qui seuille R G et B à 255
seulement ca existe pas en PB, en tout cas jamais vu ^^

Dri

PS. bonne chance pour les triangles ^^
Répondre