Afficher un Sprite dans un sprite

Vous débutez et vous avez besoin d'aide ? N'hésitez pas à poser vos questions
bombseb
Messages : 445
Inscription : jeu. 25/août/2005 22:59
Localisation : 974
Contact :

Afficher un Sprite dans un sprite

Message par bombseb »

Bonjour,

J'aimerais afficher des sprites dans un gros sprite (qui me servirais de buffer) est-ce possible ?

merci d'avance
Backup
Messages : 14526
Inscription : lun. 26/avr./2004 0:40

Re: Afficher un Sprite dans un sprite

Message par Backup »

bombseb a écrit :Bonjour,

J'aimerais afficher des sprites dans un gros sprite (qui me servirais de buffer) est-ce possible ?

merci d'avance
ce que tu peut faire c'est d'afficher un sprite de la taille de l'ecran en fond
et ensuite d'afficher d'autre sprite par dessus , deja :D

ou bien j'ai pas compris le but .. :)
bombseb
Messages : 445
Inscription : jeu. 25/août/2005 22:59
Localisation : 974
Contact :

Message par bombseb »

ben en fait j'aimerais afficher des sprites dans un sprite3D et ensuite afficher ce sprite3D déformé dans l'écran...


je ne comprends pas ce code ne marche pas :
If StartDrawing(SpriteOutput(#SpriteBuffer3D))

; Effacer le sprite3D buffer avec la couleur 0
Box (0,0,25,25,0)

If Start3D()
; Afficher des sprite3D dans mon sprite3D buffer
Sprite3DBlendingMode(5,2)
DisplaySprite3D(#Sprite3D1,100,100,255)
DisplaySprite3D(#Sprite3D1,100,110,100)
Stop3D()
EndIf

StopDrawing()
EndIf

If StartDrawing(ScreenOutput())
Start3D()
; Afficher mon sprite3D buffer sur lécran
DisplaySprite3D(#SpriteBuffer3D, 0,0, 255)
Stop3D()
StopDrawing()
EndIf

FlipBuffers()
je pense que j'ai du faire une erreur de débutant... :oops:
Backup
Messages : 14526
Inscription : lun. 26/avr./2004 0:40

Message par Backup »

oui ! :D

en fait faut bien comprendre qu'un sprite est d'abord crée en 2D

avec Resultat = CreateSprite(#Sprite, Largeur, Hauteur ,#PB_Sprite_Texture)

ce parametre de texture est tres important pour la suite !!

ensuite tu fait un simple

Resultat = CreateSprite3D(#Sprite3D, #Sprite)

maintenant et seulement maintenant ton sprite 3D existe !! :D

je ne pense pas qu'on puisse dessiner avec Stardrawing dans un sprite 3D !!

faut dessiner dans le sprite 2D puis convertir a la volé ! eventuellement ... :D

pour les effets genre déformation le sprite 2D est tres rapide
en utilisant Startdrawing !!

mais pour les rotations, le prite 3d a deja une rotation precodé par purebasic avec "RotateSprite3D(#Sprite3D, Angle, Mode)"


bref pour modifier l'apparence d'un sprite , mieux vaut rester en 2D

le sprite 3D n'a d'utilité que parce que certaine fonction purebasic sont cablé pour :D
Dernière modification par Backup le jeu. 14/juin/2007 22:06, modifié 1 fois.
bombseb
Messages : 445
Inscription : jeu. 25/août/2005 22:59
Localisation : 974
Contact :

Message par bombseb »

Merci Dobro !


on voilà je viens de trouver ce que je voulais faire c'est ca :

UseBuffer(#SpriteBuffer3D)
ClearScreen (0)

If Start3D()
Sprite3DBlendingMode(5,2)
DisplaySprite3D(#Sprite3D1,100,100,255)
DisplaySprite3D(#Sprite3D1,100,110,100)
Stop3D()
;StopDrawing()
EndIf

UseBuffer(-1)
If Start3D()
DisplaySprite3D(#SpriteBuffer3D, 0,0, 255)
Stop3D()
EndIf


FlipBuffers()
Backup
Messages : 14526
Inscription : lun. 26/avr./2004 0:40

Message par Backup »

a oui ! bien vu :D
bombseb
Messages : 445
Inscription : jeu. 25/août/2005 22:59
Localisation : 974
Contact :

Message par bombseb »

bon apparement on ne peut pas afficher un sprite3D dans un sprite2D ?

j'aimerais faire :

Code : Tout sélectionner

usebuffer (#monsprite3D)
displaysprite3D (...)
et il m'affiche le sprite3D sur l'écran :twisted:
Répondre