Avis des utilisateurs SB
Avis des utilisateurs SB
Bonsoir à tous, je m'adresse aux utilisateurs de SB , ne possédant pas de licence SB ( Fred pourrais aurais pu m'en offrir une ) , j'ai parcouru la doc , notamment les sprites & sons.
Mon idée est de créer une fantasy console à l'image de la pico8 ou la tic80. PureBasic à lui toutes les capacités pour le faire très bien sur plusieurs plateforme desktop, je me demandais donc comment en SB ou pourrait éventuellement charger des ressources en mémoire, les fonction Catch...() n'existant pas en SB , quelqu'un à t'il déjà penché sur le sujet ? Autre question, j'aime bien le langage de script LUA , facile à importé dans Purebasic , mais qu'en est il en SB ?
Pico8
Tic80
Mon idée est de créer une fantasy console à l'image de la pico8 ou la tic80. PureBasic à lui toutes les capacités pour le faire très bien sur plusieurs plateforme desktop, je me demandais donc comment en SB ou pourrait éventuellement charger des ressources en mémoire, les fonction Catch...() n'existant pas en SB , quelqu'un à t'il déjà penché sur le sujet ? Autre question, j'aime bien le langage de script LUA , facile à importé dans Purebasic , mais qu'en est il en SB ?
Pico8
Tic80
Re: Avis des utilisateurs SB
salut G-Rom,
avec SB je te conseil plutôt d'utiliser la lib vectordrawing, c'est plus puissant et son jeux de fonction est basé sur le canvas d'HTML mise à part sa syntaxe. T'as donc accès a toute les fonction graphique HTML
(en revanche son implémentation dans SB est foireuse (en tout cas sur la 2.1), j'ai publier un correctif sur le forum SB (Pf Shadoko))
quand au chargement des resources il faut utiliser les fonctions loadimage/sprite/sound...avec un événement pour signaler la fin de l'upload
si ça t'interesse je peux te passer une lib de fonction qui simplifie le developpement et qui assure une quasi compatibilité entre SB et PB
j'ai publié 2 jeux :
http://cg.racine.free.fr/puzzle/index.html
http://cg.racine.free.fr/mahjong/
avec SB je te conseil plutôt d'utiliser la lib vectordrawing, c'est plus puissant et son jeux de fonction est basé sur le canvas d'HTML mise à part sa syntaxe. T'as donc accès a toute les fonction graphique HTML
(en revanche son implémentation dans SB est foireuse (en tout cas sur la 2.1), j'ai publier un correctif sur le forum SB (Pf Shadoko))
quand au chargement des resources il faut utiliser les fonctions loadimage/sprite/sound...avec un événement pour signaler la fin de l'upload
si ça t'interesse je peux te passer une lib de fonction qui simplifie le developpement et qui assure une quasi compatibilité entre SB et PB
j'ai publié 2 jeux :
http://cg.racine.free.fr/puzzle/index.html
http://cg.racine.free.fr/mahjong/
Re: Avis des utilisateurs SB
Merci Guillot , pour le chargement des ressources, c'est pas le problème , mais plutôt , peu ton chargé des ressources "packé" , je m'explique ,
si tu as vu mes 2 petits liens, chaque console à des "petites cartouche" , c'est un tout petit fichier qui comporte tout , la texture , le son , le code.
en gros, la structure d'une cartouche pourrais ressemblé à cela :
En PB , c'est facile à faire, avec cette structure , on peut par exemple extraire la texture en 128x128 et en faire une serie de sprite à la volée.
en revanche pour le son , c'est pas la même salade, même si on peut généré un .wav en mémoire, je n'ai pas vu de moyen de chargé cela depuis la mémoire. ( peut être écrire le .wav sur le disque ? )
je ne sais pas si ce genre de code : https://gist.github.com/literallylara/7 ... 119afb51c7 peut être utile ?
Quand à la compatibilité PB/SB, les différences ne me pose pas de problème particulier , ça ressemble un peu à d'autres truc qui se font ailleurs.
si tu as vu mes 2 petits liens, chaque console à des "petites cartouche" , c'est un tout petit fichier qui comporte tout , la texture , le son , le code.
en gros, la structure d'une cartouche pourrais ressemblé à cela :
Code : Tout sélectionner
structure Cartouche
name.a[32]
author.a[32]
texture.a[128*128]
sound.a[8192]
code.a[16384]
...
endstructure
en revanche pour le son , c'est pas la même salade, même si on peut généré un .wav en mémoire, je n'ai pas vu de moyen de chargé cela depuis la mémoire. ( peut être écrire le .wav sur le disque ? )
je ne sais pas si ce genre de code : https://gist.github.com/literallylara/7 ... 119afb51c7 peut être utile ?
Quand à la compatibilité PB/SB, les différences ne me pose pas de problème particulier , ça ressemble un peu à d'autres truc qui se font ailleurs.
Re: Avis des utilisateurs SB
pour le son en PB, jusqu'a la 5.4 ou 5.5 on pouvait, mais depuis ça plante
(j'avias fait un petit synthé)
pour creer un son je faisais :
Array t.w(1) contenant le son wave brut
quand à creer un son en js, je pense pas que ce soit possible (à voir)
en revanche je pense que tut trouveras certainement fonction zip (ou autre) en js
(j'avias fait un petit synthé)
pour creer un son je faisais :
Code : Tout sélectionner
Structure wav
FileTypeBlocID.s{4}
FileSize.l
FileFormatID.s{4}
FormatBlocID.s{4}
BlocSize.l
AudioFormat.w
NbrCanaux.w
Frequence.l
BytePerSec.l
BytePerBloc.w
BitsPerSample.w
DataBlocID.s{4}
DataSize.l
EndStructure
Procedure soundcreate(num,Array t.w(1),channels=1,fq=44100)
Protected son.wav
Protected lg=(ArraySize(t())+1)*2
Protected Dim b.b(44+lg)
With son
\FileTypeBlocID="RIFF"
\FileSize=lg + 36
\FileFormatID="WAVE"
\FormatBlocID="fmt "
\BlocSize=$0010
\AudioFormat=$01
\NbrCanaux=channels
\Frequence=fq
\BytePerSec=fq * channels * 2
\BytePerBloc=Channels * 2
\BitsPerSample=16
\DataBlocID="data"
\DataSize=lg
EndWith
CopyMemory(@son,@b(0),44)
CopyMemory(@t(0),@b(44),lg)
CatchSound(num,@b(0))
EndProcedure
quand à creer un son en js, je pense pas que ce soit possible (à voir)
en revanche je pense que tut trouveras certainement fonction zip (ou autre) en js
Re: Avis des utilisateurs SB
voila ta fonction corrigée :
effectivement, question a creusé ^^ ca doit être jouable.
Code : Tout sélectionner
Structure wav
FileTypeBlocID.a[4]
FileSize.l
FileFormatID.a[4]
FormatBlocID.a[4]
BlocSize.l
AudioFormat.w
NbrCanaux.w
Frequence.l
BytePerSec.l
BytePerBloc.w
BitsPerSample.w
DataBlocID.a[4]
DataSize.l
EndStructure
Procedure soundcreate(num,Array t.w(1),channels=1,fq=44100)
Protected son.wav
Protected lg=(ArraySize(t())+1)*2
Protected Dim b.b(44+lg)
With son
\FileTypeBlocID[0]='R'
\FileTypeBlocID[1]='I'
\FileTypeBlocID[2]='F'
\FileTypeBlocID[3]='F'
\FileSize=lg + 36
\FileFormatID [0]='W'
\FileFormatID [1]='A'
\FileFormatID [2]='V'
\FileFormatID [3]='E'
\FormatBlocID[0] = 'f'
\FormatBlocID[1] = 'm'
\FormatBlocID[2] = 't'
\FormatBlocID[3] = ' '
\BlocSize=$0010
\AudioFormat=$01
\NbrCanaux=channels
\Frequence=fq
\BytePerSec=fq * channels * 2
\BytePerBloc=Channels * 2
\BitsPerSample=16
\DataBlocID[0]='d'
\DataBlocID[1]='a'
\DataBlocID[2]='t'
\DataBlocID[3]='a'
\DataSize=lg
EndWith
CopyMemory(@son,@b(0),44)
CopyMemory(@t(0),@b(44),lg)
CatchSound(num,@b(0))
EndProcedure
https://stackoverflow.com/questions/347 ... he-browserquand à creer un son en js, je pense pas que ce soit possible (à voir)
effectivement, question a creusé ^^ ca doit être jouable.
Re: Avis des utilisateurs SB
Hello,
Yeah, c'est cool.
1 que G-Rom se mette à SB et Guillot (nickel le mahjong)
Avec SB, j'ai vu une limite que je n'ai pas encore réussi à contourner.
Quand sur windows, l'écran est en affichage à 125% (Faciliter la lecture de l'écran), ça bloque : j'ai l'impression que ça vient des fonctions sprites mais pas certain et j'ai pas cherché plus loin.
Sinon, je profite pour vous faire profiter de 2 vieilles productions (2018) destinée à des animations de groupe.
http://www.jeuxvideobesancon.fr/Quiz/Quiz.html
http://www.jeuxvideobesancon.fr/2050.html => faut juste appuyer sur la barre espace après les pauses
A++
Yeah, c'est cool.
1 que G-Rom se mette à SB et Guillot (nickel le mahjong)
Avec SB, j'ai vu une limite que je n'ai pas encore réussi à contourner.
Quand sur windows, l'écran est en affichage à 125% (Faciliter la lecture de l'écran), ça bloque : j'ai l'impression que ça vient des fonctions sprites mais pas certain et j'ai pas cherché plus loin.
Sinon, je profite pour vous faire profiter de 2 vieilles productions (2018) destinée à des animations de groupe.
http://www.jeuxvideobesancon.fr/Quiz/Quiz.html
http://www.jeuxvideobesancon.fr/2050.html => faut juste appuyer sur la barre espace après les pauses
A++
Only PureBasic makes it possible
Re: Avis des utilisateurs SB
Une autre soluce qui bave un peu (0 terminal) : utiliser Poke.
[+]
Version sans bavure :
Code : Tout sélectionner
PokeS(@\FileTypeBlocID, "RIFF", 4, #PB_Ascii)
Version sans bavure :
Code : Tout sélectionner
PokeS(@\FileTypeBlocID, "RIFF", 4, #PB_Ascii | #PB_String_NoZero)
Re: Avis des utilisateurs SB
à G-Rom : saint clou very much (c'était le passage en unicode, j'avais pas creusé...)
à Olivier : c'est ce que je me suis empressé de faire
à Cool Dji : t'as essayé le forum SB, y'a un gars (Peter si mes souvenir sont exactes) qui répond à tous les problèmes (j'espere qu'il est toujours actif)
à Olivier : c'est ce que je me suis empressé de faire
à Cool Dji : t'as essayé le forum SB, y'a un gars (Peter si mes souvenir sont exactes) qui répond à tous les problèmes (j'espere qu'il est toujours actif)