Exemple de sprite uniquement avec des datas
Exemple de sprite uniquement avec des datas
Ca se passe en dessous
Dernière modification par Azur le ven. 02/avr./2010 8:49, modifié 1 fois.
- TazNormand
- Messages : 1297
- Inscription : ven. 27/oct./2006 12:19
- Localisation : Calvados (14)
Re: Générateur de numéros de cartes bleues
Modeste contribution à cette journée :
EDIT : modification pour un effet non "linéaire"
Code : Tout sélectionner
Structure fool
Id.w
X.w
Y.w
S.w
EndStructure
Global WindowW=800
Global WindowH=600
Global NewList Nemo.fool()
; Initialisations
If InitSprite () =0 Or InitKeyboard ()=0 Or InitMouse ()=0
MessageRequester ( "Problème" , "Initialisations impossibles" , 0)
End
EndIf
; Ouverture écran
If OpenWindow (0,0,0,WindowW,WindowH, "Contribution" , #PB_Window_SystemMenu | #PB_Window_ScreenCentered )
If OpenWindowedScreen ( WindowID (0),0,0,WindowW,WindowH,1,0,0)
ClearScreen(RGB (0,0,128))
CreateSprite(0,16,16)
Restore nemo
StartDrawing(SpriteOutput(0))
For i=0 To 15
For j=0 To 15
Read donnee
Plot (j,i,donnee)
Next j
Next i
StopDrawing()
For i=0 To 15
AddElement(Nemo())
Nemo()\Id=i
Nemo()\X=Random(WindowW-16)+1
Nemo()\Y=Random(WindowH-16)+1
Nemo()\S=Random(5)+1
Next i
Repeat
ExamineKeyboard()
ExamineMouse()
Event=WindowEvent()
ForEach Nemo()
Y=(Sin((Nemo()\X+120)/WindowW* #PI *3)*64)+Nemo()\Y
TransparentSpriteColor(0,$000080)
DisplayTransparentSprite(0,Nemo()\X,Y)
Nemo()\X=Nemo()\X-Nemo()\S
If Nemo()\X<-16
Nemo()\X=WindoWW+17
EndIf
Next
FlipBuffers()
ClearScreen(RGB(0,0,128))
Until KeyboardPushed ( #PB_Key_Escape ) Or Event= #PB_Event_CloseWindow Or MouseButton ( #PB_MouseButton_Right )
EndIf
EndIf
End
DataSection
nemo:
Data.l $000080,$000080,$000080,$000080,$000080,$000080,$000080,$000080,$000080,$000080,$000080,$000080,$000080,$000080,$000080,$0
Data.l $000080,$000080,$000080,$000080,$000080,$000080,$000080,$000080,$66FF,$66FF,$66FF,$000080,$000080,$000080,$000080,$0
Data.l $000080,$000080,$000080,$000080,$000080,$000080,$66FF,$66FF,$66FF,$66FF,$000080,$000080,$000080,$000080,$000080,$0
Data.l $000080,$000080,$000080,$000080,$000080,$66FF,$66FF,$66FF,$66FF,$000080,$000080,$000080,$000080,$000080,$000080,$66FF
Data.l $000080,$000080,$000080,$66FF,$66FF,$66FF,$FFFFFF,$66FF,$000080,$000080,$000080,$000080,$000080,$000080,$66FF,$66FF
Data.l $000080,$000080,$66FF,$66FF,$66FF,$FFFFFF,$FFFFFF,$66FF,$66FF,$66FF,$000080,$000080,$000080,$66FF,$66FF,$66FF
Data.l $000080,$66FF,$66FF,$000080,$000080,$FFFFFF,$FFFFFF,$66FF,$66FF,$66FF,$66FF,$66FF,$66FF,$66FF,$66FF,$66FF
Data.l $66FF,$66FF,$66FF,$FFFF,$000080,$FFFFFF,$FFFFFF,$66FF,$FFFFFF,$FFFFFF,$66FF,$FFFFFF,$FFFFFF,$66FF,$66FF,$0
Data.l $66FF,$66FF,$66FF,$66FF,$FFFFFF,$FFFFFF,$66FF,$66FF,$FFFFFF,$FFFFFF,$66FF,$FFFFFF,$FFFFFF,$66FF,$000080,$0
Data.l $66FF,$66FF,$66FF,$66FF,$FFFFFF,$FFFFFF,$66FF,$FFFFFF,$FFFFFF,$FFFFFF,$66FF,$FFFFFF,$FFFFFF,$66FF,$66FF,$0
Data.l $000080,$000080,$66FF,$66FF,$FFFFFF,$66FF,$66FF,$FFFFFF,$FFFFFF,$66FF,$66FF,$66FF,$66FF,$66FF,$66FF,$66FF
Data.l $000080,$000080,$000080,$66FF,$66FF,$66FF,$66FF,$66FF,$66FF,$66FF,$000080,$000080,$000080,$66FF,$66FF,$66FF
Data.l $000080,$000080,$000080,$000080,$66FF,$66FF,$66FF,$66FF,$000080,$000080,$000080,$000080,$000080,$000080,$66FF,$66FF
Data.l $000080,$000080,$000080,$000080,$000080,$66FF,$66FF,$66FF,$66FF,$000080,$000080,$000080,$000080,$000080,$000080,$66FF
Data.l $000080,$000080,$000080,$000080,$000080,$000080,$66FF,$66FF,$66FF,$66FF,$000080,$000080,$000080,$000080,$000080,$0
Data.l $000080,$000080,$000080,$000080,$000080,$000080,$000080,$000080,$000080,$000080,$000080,$000080,$000080,$000080,$000080,$000080
EndDataSection
- TazNormand
- Messages : 1297
- Inscription : ven. 27/oct./2006 12:19
- Localisation : Calvados (14)
Re: Exemple de sprite uniquement avec des datas
Variante du 2 avril avec bubulles et sous-marins :
Code : Tout sélectionner
Structure fool
Id.w
X.w
Y.w
S.w
EndStructure
Global WindowW=800
Global WindowH=600
Global NewList Nemo.fool()
Global NewList Bubl.fool()
; Initialisations
If InitSprite () =0 Or InitKeyboard ()=0 Or InitMouse ()=0
MessageRequester ( "Problème" , "Initialisations impossibles" , 0)
End
EndIf
; Ouverture écran
If OpenWindow (0,0,0,WindowW,WindowH, "Contribution" , #PB_Window_SystemMenu | #PB_Window_ScreenCentered )
If OpenWindowedScreen ( WindowID (0),0,0,WindowW,WindowH,1,0,0)
ClearScreen(RGB (0,0,128))
CreateSprite(0,16,16)
Restore nemo
StartDrawing(SpriteOutput(0))
For i=0 To 15
For j=0 To 15
Read donnee
Plot (j,i,donnee)
Next j
Next i
StopDrawing()
CreateSprite(1,16,16)
Restore bub
StartDrawing(SpriteOutput(1))
For i=0 To 15
For j=0 To 15
Read donnee
Plot (j,i,donnee)
Next j
Next i
StopDrawing()
CreateSprite(2,16,16)
Restore Sub
StartDrawing(SpriteOutput(2))
For i=0 To 15
For j=0 To 15
Read donnee
Plot (j,i,donnee)
Next j
Next i
StopDrawing()
For i=0 To 55
AddElement(Nemo())
Nemo()\Id=i
Nemo()\X=Random(WindowW-16)+1
Nemo()\Y=Random(WindowH-16)+1
Nemo()\S=Random(5)+1
Next i
For i=0 To 15
AddElement(Bubl())
Bubl()\X=Random(WindowW-16)+1
Bubl()\Y=Random(WindowH-16)+1
Bubl()\S=Random(5)+1
Next i
SubMarine.fool\Id=0
SubMarine.fool\X=601
SubMarine.fool\Y=Random(WindowW)+1
SubMarine.fool\S=Random(6)+1
aleat=Random(100)+1
Repeat
ExamineKeyboard()
ExamineMouse()
Event=WindowEvent()
ForEach Nemo()
Y=(Sin((Nemo()\X+120)/WindowW* #PI *3)*64)+Nemo()\Y
TransparentSpriteColor(0,$000080)
DisplayTransparentSprite(0,Nemo()\X,Y)
Nemo()\X=Nemo()\X-Nemo()\S
If Nemo()\X<-16
Nemo()\X=WindoWW+17
EndIf
Next
ForEach Bubl()
X=(Sin((Bubl()\Y+120)/WindowH* #PI *3)*64)+Bubl()\X
TransparentSpriteColor(1,$000080)
DisplayTransparentSprite(1,X,Bubl()\Y)
Bubl()\Y=Bubl()\Y-Bubl()\S
If Bubl()\Y<-16
Bubl()\Y=WindowH+17
EndIf
Next
If aleat%20=0
TransparentSpriteColor(2,$000080)
DisplayTransparentSprite(2,Submarine.fool\X,SubMarine.fool\Y)
SubMarine.fool\X=SubMarine.fool\X-SubMarine.fool\S
If SubMarine.fool\X<-17
SubMarine.fool\X=601
aleat=Random(100)+1
SubMarine.fool\Y=Random(WindowW)+1
SubMarine.fool\S=Random(6)+1
EndIf
Else
aleat=Random(100)+1
EndIf
FlipBuffers()
ClearScreen(RGB(0,0,128))
Until KeyboardPushed ( #PB_Key_Escape ) Or Event= #PB_Event_CloseWindow Or MouseButton ( #PB_MouseButton_Right )
EndIf
EndIf
End
DataSection
nemo:
Data.l $000080,$000080,$000080,$000080,$000080,$000080,$000080,$000080,$000080,$000080,$000080,$000080,$000080,$000080,$000080,$000080
Data.l $000080,$000080,$000080,$000080,$000080,$000080,$000080,$000080,$66FF,$66FF,$66FF,$000080,$000080,$000080,$000080,$000080
Data.l $000080,$000080,$000080,$000080,$000080,$000080,$66FF,$66FF,$66FF,$66FF,$000080,$000080,$000080,$000080,$000080,$000080
Data.l $000080,$000080,$000080,$000080,$000080,$66FF,$66FF,$66FF,$66FF,$000080,$000080,$000080,$000080,$000080,$000080,$66FF
Data.l $000080,$000080,$000080,$66FF,$66FF,$66FF,$FFFFFF,$66FF,$000080,$000080,$000080,$000080,$000080,$000080,$66FF,$66FF
Data.l $000080,$000080,$66FF,$66FF,$66FF,$FFFFFF,$FFFFFF,$66FF,$66FF,$66FF,$000080,$000080,$000080,$66FF,$66FF,$66FF
Data.l $000080,$66FF,$66FF,$000080,$000080,$FFFFFF,$FFFFFF,$66FF,$66FF,$66FF,$66FF,$66FF,$66FF,$66FF,$66FF,$66FF
Data.l $66FF,$66FF,$66FF,$FFFF,$000080,$FFFFFF,$FFFFFF,$66FF,$FFFFFF,$FFFFFF,$66FF,$FFFFFF,$FFFFFF,$66FF,$66FF,$000080
Data.l $66FF,$66FF,$66FF,$66FF,$FFFFFF,$FFFFFF,$66FF,$66FF,$FFFFFF,$FFFFFF,$66FF,$FFFFFF,$FFFFFF,$66FF,$000080,$000080
Data.l $66FF,$66FF,$66FF,$66FF,$FFFFFF,$FFFFFF,$66FF,$FFFFFF,$FFFFFF,$FFFFFF,$66FF,$FFFFFF,$FFFFFF,$66FF,$66FF,$000080
Data.l $000080,$000080,$66FF,$66FF,$FFFFFF,$66FF,$66FF,$FFFFFF,$FFFFFF,$66FF,$66FF,$66FF,$66FF,$66FF,$66FF,$66FF
Data.l $000080,$000080,$000080,$66FF,$66FF,$66FF,$66FF,$66FF,$66FF,$66FF,$000080,$000080,$000080,$66FF,$66FF,$66FF
Data.l $000080,$000080,$000080,$000080,$66FF,$66FF,$66FF,$66FF,$000080,$000080,$000080,$000080,$000080,$000080,$66FF,$66FF
Data.l $000080,$000080,$000080,$000080,$000080,$66FF,$66FF,$66FF,$66FF,$000080,$000080,$000080,$000080,$000080,$000080,$66FF
Data.l $000080,$000080,$000080,$000080,$000080,$000080,$66FF,$66FF,$66FF,$66FF,$000080,$000080,$000080,$000080,$000080,$000080
Data.l $000080,$000080,$000080,$000080,$000080,$000080,$000080,$000080,$000080,$000080,$000080,$000080,$000080,$000080,$000080,$000080
Bub:
Data.l $000080,$000080,$000080,$000080,$000080,$000080,$000080,$000080,$000080,$000080,$000080,$000080,$000080,$000080,$000080,$000080
Data.l $000080,$000080,$000080,$000080,$000080,$000080,$000080,$000080,$000080,$000080,$000080,$000080,$000080,$000080,$000080,$000080
Data.l $000080,$000080,$000080,$000080,$000080,$FFFFFF,$FFFFFF,$FFFFFF,$FFFFFF,$FFFFFF,$FFFFFF,$000080,$000080,$000080,$000080,$000080
Data.l $000080,$000080,$000080,$000080,$FFFFFF,$000080,$000080,$000080,$000080,$000080,$000080,$FFFFFF,$000080,$000080,$000080,$000080
Data.l $000080,$000080,$000080,$FFFFFF,$000080,$000080,$000080,$000080,$FFFFFF,$FFFFFF,$000080,$000080,$FFFFFF,$000080,$000080,$000080
Data.l $000080,$000080,$000080,$FFFFFF,$000080,$000080,$000080,$000080,$000080,$000080,$FFFFFF,$000080,$FFFFFF,$000080,$000080,$000080
Data.l $000080,$000080,$FFFFFF,$000080,$000080,$000080,$000080,$000080,$000080,$000080,$000080,$000080,$000080,$FFFFFF,$000080,$000080
Data.l $000080,$000080,$FFFFFF,$000080,$000080,$000080,$000080,$000080,$000080,$000080,$000080,$000080,$000080,$FFFFFF,$000080,$000080
Data.l $000080,$000080,$FFFFFF,$000080,$000080,$000080,$000080,$000080,$000080,$000080,$000080,$000080,$000080,$FFFFFF,$000080,$000080
Data.l $000080,$000080,$FFFFFF,$000080,$000080,$000080,$000080,$000080,$000080,$000080,$000080,$000080,$000080,$FFFFFF,$000080,$000080
Data.l $000080,$000080,$000080,$FFFFFF,$000080,$000080,$000080,$000080,$000080,$000080,$000080,$000080,$FFFFFF,$000080,$000080,$000080
Data.l $000080,$000080,$000080,$FFFFFF,$000080,$000080,$000080,$000080,$000080,$000080,$000080,$000080,$FFFFFF,$000080,$000080,$000080
Data.l $000080,$000080,$000080,$000080,$FFFFFF,$000080,$000080,$000080,$000080,$000080,$000080,$FFFFFF,$000080,$000080,$000080,$000080
Data.l $000080,$000080,$000080,$000080,$000080,$FFFFFF,$FFFFFF,$FFFFFF,$FFFFFF,$FFFFFF,$FFFFFF,$000080,$000080,$000080,$000080,$000080
Data.l $000080,$000080,$000080,$000080,$000080,$000080,$000080,$000080,$000080,$000080,$000080,$000080,$000080,$000080,$000080,$000080
Data.l $000080,$000080,$000080,$000080,$000080,$000080,$000080,$000080,$000080,$000080,$000080,$000080,$000080,$000080,$000080,$000080
Sub:
Data.l $000080,$000080,$000080,$000080,$000080,$000080,$000080,$000080,$000080,$000080,$000080,$000080,$000080,$000080,$000080,$000080
Data.l $000080,$000080,$000080,$000080,$000080,$000080,$000080,$000080,$000080,$000080,$000080,$000080,$000080,$000080,$000080,$000080
Data.l $000080,$000080,$000080,$000080,$000080,$FF00,$FF00,$FF00,$000080,$000080,$000080,$000080,$000080,$000080,$000080,$000080
Data.l $000080,$000080,$000080,$000080,$000080,$FF00,$FF00,$FF00,$FF00,$000080,$000080,$000080,$000080,$000080,$000080,$000080
Data.l $000080,$000080,$000080,$000080,$000080,$FF00,$FF00,$FF00,$FF00,$000080,$000080,$000080,$000080,$000080,$000080,$000080
Data.l $000080,$000080,$000080,$000080,$000080,$000080,$000080,$FF00,$FF00,$000080,$000080,$000080,$000080,$000080,$000080,$000080
Data.l $000080,$000080,$000080,$000080,$000080,$000080,$000080,$FF00,$FF00,$000080,$000080,$000080,$000080,$000080,$000080,$000080
Data.l $000080,$000080,$000080,$FF00,$FF00,$FF00,$FF00,$FF00,$FF00,$FF00,$FF00,$FF00,$FF00,$000080,$000080,$80
Data.l $000080,$000080,$FF00,$99FFFF,$99FFFF,$FF00,$800000,$800000,$800000,$800000,$800000,$800000,$800000,$FF00,$000080,$FF00
Data.l $000080,$FF00,$99FFFF,$99FFFF,$99FFFF,$FF00,$800000,$800000,$800000,$800000,$800000,$800000,$800000,$800000,$FF00,$FF00
Data.l $000080,$FF00,$FF00,$FF00,$FF00,$800000,$800000,$800000,$800000,$800000,$800000,$800000,$800000,$800000,$FF00,$FF00
Data.l $000080,$FF00,$800000,$800000,$800000,$800000,$800000,$800000,$800000,$800000,$800000,$800000,$800000,$FF00,$000080,$FF00
Data.l $000080,$000080,$FF00,$FF00,$FF00,$FF00,$FF00,$FF00,$FF00,$FF00,$FF00,$FF00,$FF00,$000080,$000080,$000080
Data.l $000080,$000080,$000080,$000080,$000080,$000080,$000080,$000080,$000080,$000080,$000080,$000080,$000080,$000080,$000080,$000080
Data.l $000080,$000080,$000080,$000080,$000080,$000080,$000080,$000080,$000080,$000080,$000080,$000080,$000080,$000080,$000080,$000080
Data.l $000080,$000080,$000080,$000080,$000080,$000080,$000080,$000080,$000080,$000080,$000080,$000080,$000080,$000080,$000080,$000080
EndDataSection
Re: Exemple de sprite uniquement avec des datas
Héhé 
Utilises-tu un script qui te transforme une image bitmap en une liste de data, ou fais-tu ça à la mano ?
En tout cas c'est plus dans l'esprit de ce que j'aurais voulu faire dés le début.
Petite anecdote : Collégien et possédant un CPC, je me rendis comme chaque mois chez mon marchand de journaux pour acheter le dernier Amstrad100%. Comme souvent le magazine proposait plusieurs pages de listing sous forme de data avec un checksum en bout de chaque ligne, et ce mois la, trois ou quatre pages complètes nous proposaient de programmer le copieur de cassettes ultime, qui pouvait copier les tous derniers jeux commerciaux et s'affranchir des toutes dernières protections ! Quelle aubaine !
C'était un mercredi ou samedi après midi et j'étais avec un amis chez moi, ni une ni deux, l'un le magazine entre les mains, l'autre au clavier et en avant pour plusieurs pages de " data 2c,7e,aa,30,12 .........."
Au bout d'un moment j'avais le bout des doigts cubiques à force de taper mais ça devenait bon...
alors:
cls
run
Alors est apparu à l'écran quelques choses qui ressemble beaucoup à ton bout de script avec cette mention: "Le piratage est illégal ! "
C'était en effet le magazine du mois d'avril

Utilises-tu un script qui te transforme une image bitmap en une liste de data, ou fais-tu ça à la mano ?
En tout cas c'est plus dans l'esprit de ce que j'aurais voulu faire dés le début.
Petite anecdote : Collégien et possédant un CPC, je me rendis comme chaque mois chez mon marchand de journaux pour acheter le dernier Amstrad100%. Comme souvent le magazine proposait plusieurs pages de listing sous forme de data avec un checksum en bout de chaque ligne, et ce mois la, trois ou quatre pages complètes nous proposaient de programmer le copieur de cassettes ultime, qui pouvait copier les tous derniers jeux commerciaux et s'affranchir des toutes dernières protections ! Quelle aubaine !
C'était un mercredi ou samedi après midi et j'étais avec un amis chez moi, ni une ni deux, l'un le magazine entre les mains, l'autre au clavier et en avant pour plusieurs pages de " data 2c,7e,aa,30,12 .........."
Au bout d'un moment j'avais le bout des doigts cubiques à force de taper mais ça devenait bon...
alors:
cls
run
Alors est apparu à l'écran quelques choses qui ressemble beaucoup à ton bout de script avec cette mention: "Le piratage est illégal ! "
C'était en effet le magazine du mois d'avril
Re: Exemple de sprite uniquement avec des datas
Azur a écrit :Héhé
Utilises-tu un script qui te transforme une image bitmap en une liste de data, ou fais-tu ça à la mano ?
http://www.purebasic.fr/french/viewtopi ... t=img+data
ou bien là :
http://www.purebasic.fr/french/viewtopi ... t=img2data

- TazNormand
- Messages : 1297
- Inscription : ven. 27/oct./2006 12:19
- Localisation : Calvados (14)
Re: Exemple de sprite uniquement avec des datas
Salut
alors c'est tout con, c'est de la "mano" : je crée sous EXCEL une matrice de 16x16, et je colore les cases de la forme que je veux et avec la couleur que je souhaite.
imagik.fr
ensuite une vulgaire macro me ressort les codes hexa des couleurs :
ça remplace pas un vrai éditeur de sprites bitmap, mais libre à toi de le programmer en PureBasic
Concernant A100%, j'en étais aussi. J'avais même TOUS les numéros, mais malheureusement, sous prétexte de faire de la place au grenier, mes parents ont tout jeté dans un container à recyclage à papier, et je ne l'ai appris qu'un mois plus tard : j'étais furax, mais le mal était fait
J'ai deux projets en cours (si si), dont un est un remake de la cassette de démonstration de l' AMSTRAD CPC 464. C'est pas la démo qui tue, mais j'ai eu envie de faire un "parallèle".
alors c'est tout con, c'est de la "mano" : je crée sous EXCEL une matrice de 16x16, et je colore les cases de la forme que je veux et avec la couleur que je souhaite.

ensuite une vulgaire macro me ressort les codes hexa des couleurs :
Code : Tout sélectionner
Sub sprite()
Set f1 = ActiveSheet
For y = 1 To 16
f1.Cells(y, 19).Value = ""
For x = 1 To 16
f1.Cells(y, 19).Value = f1.Cells(y, 19).Value & "$" & Hex(f1.Cells(y, x).Interior.Color) & ","
Next x
f1.Cells(y, 19).Value = Left(f1.Cells(y, 19).Value, Len(f1.Cells(y, 19).Value) - 1)
Next y
End Sub

Concernant A100%, j'en étais aussi. J'avais même TOUS les numéros, mais malheureusement, sous prétexte de faire de la place au grenier, mes parents ont tout jeté dans un container à recyclage à papier, et je ne l'ai appris qu'un mois plus tard : j'étais furax, mais le mal était fait

J'ai deux projets en cours (si si), dont un est un remake de la cassette de démonstration de l' AMSTRAD CPC 464. C'est pas la démo qui tue, mais j'ai eu envie de faire un "parallèle".
Re: Exemple de sprite uniquement avec des datas
Je ne me souvenais plus de cette k7 de démonstration. Quelle époque quand même, en ce temps là l'imagination faisait 90% de l'immersion.
Re: Exemple de sprite uniquement avec des datas
hey ! vous avez fumé la moquette ou quoi ?
tu dessine ton sprite sous paint, paintshop pro, pixia , ou que sais-je
puis vous importez direct dans purebasic avec les fonctions qui vont bien
et si vous voulez du data regardez les lien que j'ai mis ...
j'hallucine utiliser Exel et une macro pour faire un sprite

quoi? je suis moqueur ? ..... pfffff mais non
tu dessine ton sprite sous paint, paintshop pro, pixia , ou que sais-je
puis vous importez direct dans purebasic avec les fonctions qui vont bien
et si vous voulez du data regardez les lien que j'ai mis ...
j'hallucine utiliser Exel et une macro pour faire un sprite


quoi? je suis moqueur ? ..... pfffff mais non

- TazNormand
- Messages : 1297
- Inscription : ven. 27/oct./2006 12:19
- Localisation : Calvados (14)
@Dobro : C'est du fait à l'arrache, je le reconnais, mais c'était pour un petit code de "1er avril"
Il y a plein d'outils pour créer des sprites, voir tout simplement des icônes que tu "exportes" au format PNG, et qui sont à mon avis plus adaptés que Paint & co pour un malheureux sprite.
Je me demande même si je n'ai pas vu traîner un code d'éditeur de sprite sur le forum (français ou anglais... je ne me rappelle plus) ; une petite recherche devrait aider
@Azur : C'est clair que ça a pas trop bien vieilli, mais bon, je suis d'une génération dite maintenant de vieux cons nostalgiques des 8 bits. Mes connaissances PB sont plutôt ras les paquerettes, mais avoir appris le basic sur l'amstrad cpc m'est d'une grande aide.
A propos, as-tu connu les "deulignes" dans le regretté magazine hebdogiciel ?
ça c'était le pied, comme les PurePunch de Djes.

Il y a plein d'outils pour créer des sprites, voir tout simplement des icônes que tu "exportes" au format PNG, et qui sont à mon avis plus adaptés que Paint & co pour un malheureux sprite.
Je me demande même si je n'ai pas vu traîner un code d'éditeur de sprite sur le forum (français ou anglais... je ne me rappelle plus) ; une petite recherche devrait aider

@Azur : C'est clair que ça a pas trop bien vieilli, mais bon, je suis d'une génération dite maintenant de vieux cons nostalgiques des 8 bits. Mes connaissances PB sont plutôt ras les paquerettes, mais avoir appris le basic sur l'amstrad cpc m'est d'une grande aide.
A propos, as-tu connu les "deulignes" dans le regretté magazine hebdogiciel ?
ça c'était le pied, comme les PurePunch de Djes.
Re: Exemple de sprite uniquement avec des datas
Lol Dobro, des fois je me demande si c'est un opérateur humain ou si tu t'es fais remplacer par un de tes scripts AI pour réponse automatique sur les forums
Pour ma part j'ai arrête la moquette y'a quelques années, à présent je suis passé au lino, c'est plus cher, mais ça dope ma créativité et ma vie sociale.
En ce qui me concerne j'utilise PB depuis la 3.91 je crois, et donc on est ok pour les fonctions de chargement d'images, mais il se trouve que dans le cas des scripts postés ci-dessus il est tout de même plus pratique d'avoir des lignes de datas pour générer les images ça évite d'avoir une image à DownLoad en plus du copier coller du script, mais bon ça ce sera pas un scoop pour Dobro qui est par ailleurs l'auteur de quelques scripts qui mériteraient de figurer au panthéon de ce forum. Donc voila c'était juste pour engager la conversation sur le sujet du comment créez vous vos sprites 'embarqués' dans vos applis. Je dois dire que je trouve la solution de TazNormand pas plus bête qu'une autre, quand on sait que des gars sont fans de pixelart par exemple, si c'est leur truc bah pourquoi pas... Et puis si j'ai bien compris ça se fait en une manip, sa procédure permet d'obtenir la liste de datas à l'aide d'un soft unique, donc bon, sur le principe je ne jugerai pas, pour de petits pictos ou icônes l'approche créative est pour le moins inattendue, et sur la petite demo ci-dessus le résultat est assez intéressant, assez oldschool, c'est ce qui avait attiré ma curiosité d'ailleurs.
J'aurais eu tendance de but en blanc à utiliser PB pour générer ma liste de datas mais ne connaissant pas excel ( pour la plus grande joie de mon banquier ), je me coucherai moins bête ce soir.
Voila j'ai fais un peu long mais en fait quand je rédige sur un forum je le fais pour les participants mais aussi pour les lecteurs lambdas qui peuvent être néophytes complets c'est pourquoi ça peut paraitre des fois un peu bébête.
M Dobro, en toute amitié bien sur, avec tout le respect que je vous dois et la petite pointe d'humour que j'affectionne tant.
Pour le endeuxlignes dans hebdogiciel je ne me souviens pas de cette rubrique, et puis en fait j'ai pas acheté ce journal trop longtemps, je crois qu'il n'était plus distribué par un moment. Et puis A100% était vraiment le top pour les apprentis programmeurs à l'époque, les cours de prog Z80 par les gars du groupe Logon System c'était dingue, pour ceux qui n'ont pas connu c'était un groupe de demomackers haut niveau qui montraient par exemple comment programmer le chipset vidéo ( CRTC 6845 ) en expliquant tout, les trames le vertical blanking le timing les ruptures, à l'époque y'avait pas internet et c'était carrément de l'or, et on a appréhendé la programmation d'une façon différente, plus comme la combinaison d'évènements au niveau hardware, pour ma part c'est une philosophie qui ne m'a jamais quitté et que j'applique toujours indirectement dans mes réalisations.
De nos jours ça a bien changé, et, à ce propos je ne pense pas être le seul ici à avoir connu cette époque et à avoir trouvé dans purebasic un moyen simple et pourtant relativement "bas niveau" de programmer.

Pour ma part j'ai arrête la moquette y'a quelques années, à présent je suis passé au lino, c'est plus cher, mais ça dope ma créativité et ma vie sociale.
En ce qui me concerne j'utilise PB depuis la 3.91 je crois, et donc on est ok pour les fonctions de chargement d'images, mais il se trouve que dans le cas des scripts postés ci-dessus il est tout de même plus pratique d'avoir des lignes de datas pour générer les images ça évite d'avoir une image à DownLoad en plus du copier coller du script, mais bon ça ce sera pas un scoop pour Dobro qui est par ailleurs l'auteur de quelques scripts qui mériteraient de figurer au panthéon de ce forum. Donc voila c'était juste pour engager la conversation sur le sujet du comment créez vous vos sprites 'embarqués' dans vos applis. Je dois dire que je trouve la solution de TazNormand pas plus bête qu'une autre, quand on sait que des gars sont fans de pixelart par exemple, si c'est leur truc bah pourquoi pas... Et puis si j'ai bien compris ça se fait en une manip, sa procédure permet d'obtenir la liste de datas à l'aide d'un soft unique, donc bon, sur le principe je ne jugerai pas, pour de petits pictos ou icônes l'approche créative est pour le moins inattendue, et sur la petite demo ci-dessus le résultat est assez intéressant, assez oldschool, c'est ce qui avait attiré ma curiosité d'ailleurs.
J'aurais eu tendance de but en blanc à utiliser PB pour générer ma liste de datas mais ne connaissant pas excel ( pour la plus grande joie de mon banquier ), je me coucherai moins bête ce soir.
Voila j'ai fais un peu long mais en fait quand je rédige sur un forum je le fais pour les participants mais aussi pour les lecteurs lambdas qui peuvent être néophytes complets c'est pourquoi ça peut paraitre des fois un peu bébête.
M Dobro, en toute amitié bien sur, avec tout le respect que je vous dois et la petite pointe d'humour que j'affectionne tant.
Pour le endeuxlignes dans hebdogiciel je ne me souviens pas de cette rubrique, et puis en fait j'ai pas acheté ce journal trop longtemps, je crois qu'il n'était plus distribué par un moment. Et puis A100% était vraiment le top pour les apprentis programmeurs à l'époque, les cours de prog Z80 par les gars du groupe Logon System c'était dingue, pour ceux qui n'ont pas connu c'était un groupe de demomackers haut niveau qui montraient par exemple comment programmer le chipset vidéo ( CRTC 6845 ) en expliquant tout, les trames le vertical blanking le timing les ruptures, à l'époque y'avait pas internet et c'était carrément de l'or, et on a appréhendé la programmation d'une façon différente, plus comme la combinaison d'évènements au niveau hardware, pour ma part c'est une philosophie qui ne m'a jamais quitté et que j'applique toujours indirectement dans mes réalisations.
De nos jours ça a bien changé, et, à ce propos je ne pense pas être le seul ici à avoir connu cette époque et à avoir trouvé dans purebasic un moyen simple et pourtant relativement "bas niveau" de programmer.
-
- Messages : 1307
- Inscription : dim. 08/juil./2007 18:32
- Localisation : Toulouse
Re: Exemple de sprite uniquement avec des datas
je viens de lire de vieux mag de joystick sur Graftgold, les problèmes avec ces gloutons ignares de distributeurs et éditeurs de l'époque, arf mais quel injustice. Andrew Braybrook, l'un des meilleurs codeur 68000 dont je suis tombé en admiration à la vue de Fire&Ice à la fluidité absolu, sans cheveux long, c'est un peu triste:
http://www.nemmelheim.de/graftgold/
http://www.nemmelheim.de/graftgold/downloads.html
C'est là où je me dis qu'un tel talent victime de la cupidité (il vend des assurances maintenant)... l'humanité est définitivement stupide.
http://www.nemmelheim.de/graftgold/
http://www.nemmelheim.de/graftgold/downloads.html
C'est là où je me dis qu'un tel talent victime de la cupidité (il vend des assurances maintenant)... l'humanité est définitivement stupide.