Page 1 sur 2

【SpiderBasic 2.10】 est disponible

Publié : lun. 10/avr./2017 9:28
par falsam
- Fred annonce la version final de SpiderBasic 2.10.

- Beta 3 est disponible et apporte quelques corrections ainso que le champ IAAP Key pour les applications Android In App Buy

- Beta 2 est disponible et apporte quelques corrections

- La première beta de SpiderBasic 2.10 dans votre espace client. Au sommaire :
- Added: Accelerometer library
- Added: Geolocation library
- Added: InAppPurchase support for iOS
- Added: BatteryLevel(), SystemInfo(), VibrateDevice()
- Added: #PB_String_PlaceHolder flag to StringGadget() to set a placeholder at creation
- Added: #PB_Event_SizeDesktop event to monitor a desktop resize without having a background window
- Added: ResizeScreen() to resize an already created screen
- Added: Cordova command can be executed via Import/EndImport
- Added: Android app is immediately run on the device once deployed

- Changed: reworked the InAppPurchase library
- Changed: switched from crosswalk to cordova on Windows for Android. NOTE: cordova requires internet connection to build an app.

- Optimized: Android app size is now much smaller (1,5 MB instead of 20 MB)

- Removed: TouchRadiusX() and TouchRadiusY() as it was only working on FireFox

- Fixed: some compiler and library bugs
Annonce : http://forums.spiderbasic.com/viewtopic ... 3837#p3837

Re: 【SpiderBasic 2.10 Beta】 est disponible

Publié : lun. 10/avr./2017 9:59
par Tonio
salut

Pour installer Spidebasic Fut'il installé aussi Java ?


Merci bien

Re: 【SpiderBasic 2.10 Beta】 est disponible

Publié : lun. 10/avr./2017 10:03
par Kwai chang caine
GLOP GLOP GLOP = Android app size is now much smaller (1,5 MB instead of 20 MB) 8O 8)
PAS GLOP = cordova requires internet connection to build an app. :|
PAS GLOPPRIS (A voir) = Android app is immediately run on the device once deployed :mrgreen:

Image

Merci FALSAM 8)

Re: 【SpiderBasic 2.10 Beta】 est disponible

Publié : lun. 10/avr./2017 10:06
par falsam
Tonio a écrit :Pour installer Spidebasic Fut'il installé aussi Java ?
Non si tu ne cherches pas à générer une application pour android.

Par contre dans le cas contraire, alors oui il faut installer JDK 1.8

:arrow: http://www.purebasic.fr/french/viewtopi ... 55#p187555

Re: 【SpiderBasic 2.10 Beta】 est disponible

Publié : lun. 10/avr./2017 10:09
par Patrick88
et les 25mo, c'était pour chaque appli, ou une fois pour toutes ?

Pat

Re: 【SpiderBasic 2.10 Beta】 est disponible

Publié : lun. 10/avr./2017 10:18
par falsam
Patrick88 a écrit :et les 25mo, c'était pour chaque appli, ou une fois pour toutes ?
C'était pour chaque application Android avec la version précédente de SpiderBasic

Re: 【SpiderBasic 2.10 Beta】 est disponible

Publié : lun. 10/avr./2017 10:40
par falsam
J'ai généré un APK (Android) d'un code existant.

- Avec SpiderBasic 2.0 j'avais une taille de 25 Mo
- Avec SpiderBasic 2.1 j'ai une taille de 1,7 Mo. C'est génial.

Re: 【SpiderBasic 2.10 Beta】 est disponible

Publié : lun. 10/avr./2017 10:51
par Kwai chang caine
Faudrait que je prenne le temps de voir le coté portable, qui m'avait quand même un peu déçu avec l'ancienne version :|

Re: 【SpiderBasic 2.10 Beta】 est disponible

Publié : lun. 10/avr./2017 12:20
par falsam
Fred a écrit :Added: Cordova command can be executed via Import/EndImport
Lorque vous générez une application pour Android, il est possible d'accéder aux ressources des terminaux mobiles avec le SDK Cordova..

Les Plugins de Cordova.
Cordova possède de nombreux plugins permettant d'accéder aux ressources natives des terminaux mobiles.

:!: Contrainte : Le code lié à ces plugin Cordova sera développé en Javascript.

Comment faire ?
Avec la fonction Import ... EndImport il est possible d'importer un plugin Cordova.

Code : Tout sélectionner

Import "cordova plugin add nom-du-plugin"
EndImport
Exemple : Comment suis je connecté au réseau ?

Code : Tout sélectionner

Import "cordova plugin add cordova-plugin-network-information"
EndImport

Procedure CheckConnection()
  !var networkState = navigator.connection.type;

  !  var states = {};
  !  states[Connection.UNKNOWN]  = 'Unknown connection';
  !  states[Connection.ETHERNET] = 'Ethernet connection';
  !  states[Connection.WIFI]     = 'WiFi connection';
  !  states[Connection.CELL_2G]  = 'Cell 2G connection';
  !  states[Connection.CELL_3G]  = 'Cell 3G connection';
  !  states[Connection.CELL_4G]  = 'Cell 4G connection';
  !  states[Connection.CELL]     = 'Cell generic connection';
  !  states[Connection.NONE]     = 'No network connection';

  !  alert('Connection type: ' + states[networkState]);
EndProcedure

OpenWindow(0, 0, 0, 0, 0, "", #PB_Window_Background)

ButtonGadget(0, 20, 20, 80, 24, "Check")
BindGadgetEvent(0, @CheckConnection())

Re: 【SpiderBasic 2.10 Beta】 est disponible

Publié : lun. 10/avr./2017 12:53
par kwandjeen
Génial toutes ces infos.

Re: 【SpiderBasic 2.10 Beta】 est disponible

Publié : jeu. 29/juin/2017 21:11
par falsam
Le déploiement Beta 3 de SpiderBasic 2.10 est disponible dans votre espace client.

Lien http://forums.spiderbasic.com/viewtopic ... 4221#p4221

Re: 【SpiderBasic 2.10】 est disponible

Publié : mar. 04/juil./2017 21:58
par falsam
Fin de la période de test, Fred annonce la disponibilité de SpiderBasic 2.10. Détail et téléchargement dans le premier message.

Re: 【SpiderBasic 2.10】 est disponible

Publié : dim. 16/juil./2017 14:41
par falsam
A propos de SpiderBasic j'ai pu lire sur le chat de PureBasic
15:16 XXXXX bin, apprendre un nouveau language ne m'emballe pas
(j'ai caché le nom de l'auteur.)

SpiderBasic n'est pas un nouveau langage. Vous codez de la même manière qu'avec PureBasic mais avec quelques changements d'habitude sur la façon de coder : Par exemple il n'y a plus de boucle événementielle.

■ Exemple : Ouvrir une fenêtre.

Code : Tout sélectionner

Enumeration
  #mf  
EndEnumeration

OpenWindow(#mf, 0, 0, 800, 600, "Mon application", #PB_Window_ScreenCentered)
Le code généré ne sera pas de l'exécutable. Vous obtiendrez un fichier HTML associé à un fichier JavaScript. C'est vous qui déciderez du nom de ces deux fichiers.

■ Comment faire pour que ça fonctionne chez un hébergeur ?
Depuis l'ide vous allez généré l'application

Image

Renseigner les différents paramètres de l'applications sans oublier de cocher la case Copy Spider Libraries puis cliquer sur le bouton Create App

Votre application est prêté. Utilisez votre logiciel ftp favori pour copier le tout sur votre serveur.

Question : Il y a surement des limitations ? Oui il y en a et elles sont liés aux limitations de JavaScript : Par exemple Si il est possible de lire un fichier texte sur un serveur, il n'est pas possible par contre de créer ou de modifier un fichier.

Par contre il est possible d'invoquer un script php en passant des paramétres avec la fonction HTTPRequest()

La version d'essai est disponible sur http://www.spiderbasic.com/download.php

Re: 【SpiderBasic 2.10】 est disponible

Publié : dim. 16/juil./2017 15:39
par falsam
Et les jeux ?

J'ai repris le code de fig. C'est une base de code pour un super casse-brique.

:idea: Une petite démo de ce que ça donne avec ce lien http://falsam.com/fig/

:!: Je l'ai dit dans mon précédent commentaire : Il y a quelques changements d'habitude sur la façon de coder.

- Le code est procédural et interprété de haut en bas.
- Suppression de la boucle événementielle de la fenêtre.
- Suppression de la boucle événementielle du rendu 2D.
- Déclaration de la procédure de rendu de scene : BindEvent(#PB_Event_RenderFrame, @RenderFrame())

Code : Tout sélectionner

;-- Initialisation 
EnableExplicit

InitMouse(#PB_Mouse_Locked)

;-- Constantes 
Enumeration MainForm
  #Main_Window
EndEnumeration

Enumeration Game
  #spr_Raquette
  #spr_Balle
EndEnumeration

;-- Structures pour les élements du jeu 
Structure raquette
  posX.i
  posY.i
EndStructure

Structure balle
  PosX.i
  PosY.i
  vitesseX.i
  vitesseY.i
  colle.c
EndStructure

;-- Gestion de la raquette 
Global raquette.raquette
;-- Gestion de la balle 
Global balle.balle


;-- variables globales
Global gWidth = 800,gHeight = 600,gEvent,gMouseX

;-- plan de l'application
Declare Start()
Declare RenderFrame()

Start()

Procedure Start()
  ;-- Création de la fenetre
  OpenWindow(#Main_Window,0,0,gWidth,gHeight,"Casse Briques 2017",#PB_Window_SystemMenu|#PB_Window_ScreenCentered)
  OpenWindowedScreen(WindowID(#Main_Window),0,0,gWidth,gHeight)
  
  ;-- Création de la raquette
  CreateSprite(#spr_Raquette,150,16)
  StartDrawing(SpriteOutput(#spr_Raquette))
  Box(0, 0, 150,16, RGB(0, 128, 192))
  StopDrawing()
  
  ;-- Création de la balle 
  CreateSprite(#spr_Balle,21,21)
  StartDrawing(SpriteOutput(#spr_Balle))
  Circle(10,10,10,RGB(255, 255, 0))
  StopDrawing()
  
  ;--initialise la balle
  balle\Colle = #True
  balle\posY=gHeight-30-SpriteHeight(#spr_balle)
  
  ;-- Enregistrer la procédure de rendering
  BindEvent(#PB_Event_RenderFrame, @RenderFrame())
  
  RenderFrame()
EndProcedure

Procedure RenderFrame()  
  ClearScreen(RGB(0, 0, 0))
  
  ;-- Affichage de la raquette 
  DisplayTransparentSprite(#spr_Raquette,raquette\posX, gHeight-30)
  ;-- Affichage de la balle 
  DisplayTransparentSprite(#spr_Balle, balle\posX,balle\posY)
  
  ;-- Deplacement de la raquette avec la souris
  ExamineMouse()
  
  gMouseX = MouseX()
  raquette\posX = gMouseX
  If gMouseX > gWidth - SpriteWidth(#spr_Raquette)
    raquette\posX = gWidth - SpriteWidth(#spr_Raquette)
  EndIf 
  If balle\colle=#True And MouseButton(#PB_MouseButton_Left)<>0
    balle\colle=#False
    balle\vitesseX=Random(10)
    balle\vitesseY=-Random(6)-4
  EndIf
  
  ;rebond mur latéraux
  If balle\PosX>Gwidth-SpriteWidth(#spr_Balle) Or balle\PosX<0
    balle\vitesseX=-balle\vitesseX
  EndIf
  
  ;rebond mur du haut
  If balle\PosY<0
    balle\vitesseY=-balle\vitesseY
  EndIf
  
  ;rebond sur la raquette
  If (balle\PosY>gHeight-30-SpriteHeight(#spr_balle) And balle\PosX>raquette\posX-SpriteWidth(#spr_balle) And balle\PosX<raquette\posX+SpriteWidth(#spr_Raquette))
    balle\vitesseX=Random(10)
    balle\vitesseY=-Random(6)-4
  EndIf
  ;balle perdue
  If balle\PosY>gHeight-30
    ;fin de partie
    
  EndIf    
  
  ;-- Test Si la balle est collée à la raquette 
  If balle\colle = #True
    balle\posX = raquette\posX+SpriteWidth(#spr_Raquette)/2-SpriteWidth(#spr_Balle)/2
  Else ;déplace la balle si elle n'est pas collée
    balle\posX + balle\vitesseX
    balle\posy + balle\vitessey
  EndIf  
  
  ExamineKeyboard()
  FlipBuffers()
EndProcedure

Re: 【SpiderBasic 2.10】 est disponible

Publié : dim. 16/juil./2017 16:48
par djes
C'est bien sympa et courageux ces petits tutos. Le casse-briques fonctionne très bien sûr ici sur Android avec chrome.