PureBasic

Forums PureBasic
Nous sommes le Sam 15/Aoû/2020 9:17

Heures au format UTC + 1 heure




Poster un nouveau sujet Répondre au sujet  [ 8 messages ] 
Auteur Message
 Sujet du message: Avis des utilisateurs SB
MessagePosté: Jeu 19/Mar/2020 20:29 
Hors ligne

Inscription: Dim 10/Jan/2010 5:29
Messages: 3496
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


Haut
 Profil  
Répondre en citant le message  
 Sujet du message: Re: Avis des utilisateurs SB
MessagePosté: Ven 20/Mar/2020 10:13 
Hors ligne
Avatar de l’utilisateur

Inscription: Jeu 25/Juin/2015 16:18
Messages: 312
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/


Haut
 Profil  
Répondre en citant le message  
 Sujet du message: Re: Avis des utilisateurs SB
MessagePosté: Ven 20/Mar/2020 11:24 
Hors ligne

Inscription: Dim 10/Jan/2010 5:29
Messages: 3496
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 :


Code:
structure Cartouche
  name.a[32]
  author.a[32]
  texture.a[128*128]
  sound.a[8192]
  code.a[16384]
  ...
endstructure


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.


Haut
 Profil  
Répondre en citant le message  
 Sujet du message: Re: Avis des utilisateurs SB
MessagePosté: Ven 20/Mar/2020 11:39 
Hors ligne
Avatar de l’utilisateur

Inscription: Jeu 25/Juin/2015 16:18
Messages: 312
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 :

Code:
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

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


Haut
 Profil  
Répondre en citant le message  
 Sujet du message: Re: Avis des utilisateurs SB
MessagePosté: Ven 20/Mar/2020 11:56 
Hors ligne

Inscription: Dim 10/Jan/2010 5:29
Messages: 3496
voila ta fonction corrigée :

Code:
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



Citation:
quand à creer un son en js, je pense pas que ce soit possible (à voir)


https://stackoverflow.com/questions/347 ... he-browser

effectivement, question a creusé ^^ ca doit être jouable.


Haut
 Profil  
Répondre en citant le message  
 Sujet du message: Re: Avis des utilisateurs SB
MessagePosté: Ven 20/Mar/2020 11:58 
Hors ligne
Avatar de l’utilisateur

Inscription: Ven 05/Sep/2008 11:42
Messages: 1126
Localisation: Besançon
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++

_________________
Only PureBasic makes it possible


Haut
 Profil  
Répondre en citant le message  
 Sujet du message: Re: Avis des utilisateurs SB
MessagePosté: Ven 20/Mar/2020 12:27 
Hors ligne

Inscription: Ven 29/Juin/2007 17:50
Messages: 3659
Localisation: Encore ?
Une autre soluce qui bave un peu (0 terminal) : utiliser Poke.
Code:
PokeS(@\FileTypeBlocID,  "RIFF", 4, #PB_Ascii)


[+]
Version sans bavure :
Code:
PokeS(@\FileTypeBlocID,  "RIFF", 4, #PB_Ascii | #PB_String_NoZero)


Haut
 Profil  
Répondre en citant le message  
 Sujet du message: Re: Avis des utilisateurs SB
MessagePosté: Ven 20/Mar/2020 16:13 
Hors ligne
Avatar de l’utilisateur

Inscription: Jeu 25/Juin/2015 16:18
Messages: 312
à 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)


Haut
 Profil  
Répondre en citant le message  
Afficher les messages postés depuis:  Trier par  
Poster un nouveau sujet Répondre au sujet  [ 8 messages ] 

Heures au format UTC + 1 heure


Qui est en ligne

Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 1 invité


Vous ne pouvez pas poster de nouveaux sujets
Vous ne pouvez pas répondre aux sujets
Vous ne pouvez pas éditer vos messages
Vous ne pouvez pas supprimer vos messages

Rechercher:
Aller à:  

 


Powered by phpBB © 2008 phpBB Group | Traduction par: phpBB-fr.com
subSilver+ theme by Canver Software, sponsor Sanal Modifiye