Page 1 sur 1
Image => Sprite
Publié : jeu. 22/mai/2008 19:12
par Octavius
En me creusant la tête j'ai réussi à trouver un bout de code qui permet de transformer une image en sprite :
Code : Tout sélectionner
...
CreateSprite(#Sprite,ImageWidth(#Image),ImageHeight(#Image))
StartDrawing(SpriteOutput(#Sprite))
DrawImage(ImageID(#Image),0,0)
StopDrawing()
...
Je ne trouvais rien de simple sur le forum ou sur internet qui dise comment faire la conversion image => sprite, j'ai donc décidé de poster ce bout de code.
Je n'en suis d'ailleurs pas satisfait, c'est un peu brutal comme solution, est-ce qu'il n'y a pas un moyen plus efficace en copiant la mémoire ?
Re: Image => Sprite
Publié : jeu. 22/mai/2008 19:53
par Backup
Octavius a écrit :En me creusant la tête j'ai réussi à trouver un bout de code qui permet de transformer une image en sprite :
Code : Tout sélectionner
...
CreateSprite(#Sprite,ImageWidth(#Image),ImageHeight(#Image))
StartDrawing(SpriteOutput(#Sprite))
DrawImage(ImageID(#Image),0,0)
StopDrawing()
...
Je ne trouvais rien de simple sur le forum ou sur internet qui dise comment faire la conversion image => sprite, j'ai donc décidé de poster ce bout de code.
Je n'en suis d'ailleurs pas satisfait, c'est un peu brutal comme solution, est-ce qu'il n'y a pas un moyen plus efficace en copiant la mémoire ?

t'as inventé l'eau chaude !!

Publié : jeu. 22/mai/2008 20:10
par Octavius
Eh! Pour quelqu'un qui se lave à l'eau froide c'est une révolution!
Publié : jeu. 22/mai/2008 20:16
par Backup
Publié : jeu. 22/mai/2008 20:33
par Octavius
Lol
Au bout de combien de temps un débutant en PureBasic qui ne progresse pas devient-il un pur boulet ?
Plus sérieusement, tu n'as pas répondu à ma question : est-ce qu'il y a un moyen plus efficace de faire ça ? Genre un moyen qui ne me bouffe pas la moitié de mon temps CPU si je traite une dizaine de grosses images.
Publié : jeu. 22/mai/2008 22:45
par nico
Cette fonction ne suffit pas?
Publié : jeu. 22/mai/2008 22:55
par Octavius
Si je fais CatchSprite en ayant au préalable récupéré l'adresse mémoire de l'image ça n'a pas l'air de fonctionner. Je ne comprends pas pourquoi.
Peux-tu confirmer ? As-tu un bout de code qui récupère l'adresse de l'image et qui s'en sert avec CatchSprite ?
Publié : jeu. 22/mai/2008 22:56
par nico
Je suis désolé mais je n'ai jamais codé aucun jeux donc j'aurais du mal à te faire un exemple mais si tu as un code je peux regarder!
Publié : jeu. 22/mai/2008 23:18
par Backup
Octavius a écrit : Genre un moyen qui ne me bouffe pas la moitié de mon temps CPU si je traite une dizaine de grosses images.
heu ! le probleme doit venir d'ailleurs !!
parce que franchement ça prend que dalle en cpu !!
met un exemple qui montre que ça bouffe du cpu , mon petit doit me dit que c'est parce que tu utilise mal la chose
oui c'est la meilleur methode a mon avis ...
mis a part la fonction
Resultat =
LoadSprite(#Sprite, NomFichier$ [, Mode])

Publié : jeu. 22/mai/2008 23:32
par Flype
la solution semble être de précharger les sprites ET les images avant de les utiliser ensuite dans le jeu et non pas de convertir les images en temps réel dans la boucle principale du jeu.
Publié : ven. 23/mai/2008 9:52
par Octavius
Publié : sam. 24/mai/2008 12:52
par Octavius
Ah non en fait c'était pas WindowEvent()...
J'ai poster mon programme dans un nouveau sujet :
http://www.purebasic.fr/french/viewtopic.php?t=8118
Stp partages avec moi ta sagesse Dobro, pourquoi mon programme ne fonctionne-t-il pas correctement ?