Page 4 sur 4
Re: qui peux me donner quelques cours pour la création de je
Publié : sam. 28/janv./2012 22:51
par G-Rom
non , windows x64 , offset 32 & 36 pour la taille, ce qui confirme que PB sauvegarde les tailles

l'offset changera d'une architecture à l'autre.
Re: qui peux me donner quelques cours pour la création de je
Publié : dim. 29/janv./2012 0:48
par Backup
bon , ben comme ça , c'est clair

on a appris un truc de plus

comment se passer de SpriteWidth(#Sprite) et utiliser un peek a la place

Re: qui peux me donner quelques cours pour la création de je
Publié : dim. 29/janv./2012 1:50
par G-Rom
Tout les id pb pointent vers des structures de toute façon

Re: qui peux me donner quelques cours pour la création de je
Publié : dim. 29/janv./2012 10:10
par blendman
si j'ai bien compris spritewidth()#sprite) ne recalcule pas la taille du sprite, il ne fait que renvoyer la taille précalculé (sans dote lors du chargement) du sprite ?
C'est bien ça ?
Et c'est le cas pour d'autres fonctions ?
Re: qui peux me donner quelques cours pour la création de je
Publié : dim. 29/janv./2012 11:02
par G-Rom
Comment veut tu calculer une taille? Ce n'est qu'une simple information. D'autres type d'objet PB doivent garder quelques infos, mais pas toujours, par exemple une texture pb ne conserve pas la taille (ogre le fait deja).
Re: qui peux me donner quelques cours pour la création de je
Publié : mer. 01/févr./2012 10:38
par TazNormand
Septembre 2004 :
http://www.purebasic.fr/french/viewtopi ... 014#p14014
JB13, si tu connais tous ces langages, tu devrais pouvoir t'en sortir tout seul, les notions de bases restent les mêmes.
Tu n'y mets pas du tien, désolé d'avoir l'air agressif, mais j'ai regardé tes messages (enfin en diagonale), et j'ai aussi fait quelques recherches sur le forum, et normalement tu devrais tout ce dont tu as besoin, et au pire, aller sur le forum anglais.
Je vais quand même regarder si je peux pas amorcer un bout de code...
EDIT : j'ai trouvé des choses à toi :
http://www.purebasic.fr/french/viewtopic.php?f=1&t=8893
http://www.purebasic.fr/french/viewtopic.php?f=1&t=8939
http://www.purebasic.fr/french/viewtopic.php?f=1&t=8960
http://www.purebasic.fr/french/viewtopic.php?f=1&t=9382
http://www.purebasic.fr/french/viewtopic.php?f=1&t=9465
Re: qui peux me donner quelques cours pour la création de je
Publié : mer. 01/févr./2012 11:37
par TazNormand
4 raquettes "contrôlables" à la souris. J'ai repris un de tes codes (cf mon msg précédent)
Code : Tout sélectionner
;*****************************************
;* Un bout de code pour apprendre la 2D *
;*****************************************
; on initialise le sprite,le clavier et la souris
InitSprite()
InitKeyboard()
InitMouse()
; Definition de la constante pour le curseur
Enumeration
#Top
#Right
EndEnumeration
ExamineDesktops()
DskW=DesktopWidth(0)
DskH=DesktopHeight(0)
DskD=DesktopDepth(0)
; Creation de l'ecran
OpenScreen(DskW,DskH,DskD," JBNoid 0.01")
; Creation d'un simple sprite pour le cuseur
CreateSprite(#Top,200,16)
CreateSprite(#Right,16,200)
StartDrawing(SpriteOutput(#Top))
Box(0,0,200,16,RGB(255,255,255))
StopDrawing()
StartDrawing(SpriteOutput(#Right))
Box(0,0,16,200,RGB(255,255,255))
StopDrawing()
;Boucle principale
Repeat
ClearScreen(RGB(0,0,0))
MouseX=MouseX()
mouseY=MouseY()
; Gauche-Droite
; Enlever la largeur de la "raquette" pour ne pas sortir de l'écran
If MouseX<=DskW-200
PosX=MouseX
Else
PosX=DskW-200
EndIf
; Haut-Bas
; Idem penser à enlever la hauteur du sprite pour ne pas sortir de l'écran
If MouseY<=DskH-200
posY=mouseY
Else
posY=DskH-200
EndIf
StartDrawing(ScreenOutput())
DrawText(0,0,"MouseX : "+Str(MouseX))
DrawText(0,0,"MouseY : "+Str(MouseY))
StopDrawing()
ExamineKeyboard()
ExamineMouse()
; Affiche raquette en haut et en bas
DisplayTransparentSprite(#Top,PosX,DskH-16) ; 16 = hauteur du sprite
DisplayTransparentSprite(#Top,PosX,0)
; Affiche à droite et à gauche
DisplayTransparentSprite(#Right,0,PosY)
DisplayTransparentSprite(#Right,DskW-16,PosY) ; 16 = hauteur du sprite
FlipBuffers()
Until KeyboardPushed(#PB_Key_Escape)
Re: qui peux me donner quelques cours pour la création de je
Publié : mer. 01/févr./2012 13:24
par TazNormand
4 raquettes... plus une balle qui rebondit diagonalement.
A faire :
- Détection de collision avec les raquettes
sortie de l'écran = perdu
gestion de points
angle de renvoi en fonction de l'endroit sur la raquette où tape la balle
Optimisations :
- Utilisation des structures
autres ?
Le code :
Code : Tout sélectionner
;*****************************************
;* Un bout de code pour apprendre la 2D *
;*****************************************
; on initialise le sprite,le clavier et la souris
InitSprite()
InitKeyboard()
InitMouse()
; Definition de la constante pour le curseur
Enumeration
#Top
#Right
#Balle
EndEnumeration
; Résolution de votre écran
ExamineDesktops()
DskW=DesktopWidth(0)
DskH=DesktopHeight(0)
DskD=DesktopDepth(0)
; Creation de l'ecran
OpenScreen(DskW,DskH,DskD," JBNoid 0.01")
; Creation d'un simple sprite pour le cuseur
CreateSprite(#Top,200,16)
CreateSprite(#Right,16,200)
StartDrawing(SpriteOutput(#Top))
Box(0,0,200,16,RGB(255,255,255))
StopDrawing()
StartDrawing(SpriteOutput(#Right))
Box(0,0,16,200,RGB(255,255,255))
StopDrawing()
; sprite "Balle"
CreateSprite(#Balle,16,16)
StartDrawing(SpriteOutput(#Balle))
Circle(7,7,7,RGB($00,$FF,$FF))
StopDrawing()
; Position aléatoire de la balle dans un premier temps, dans un carré central
; à l'écran pour ne pas démarrer avec une balle trop proche d'une raquette
balleX=Random(DskW/2)+(DskW/4)
balleY=Random(DskH/2)+(DskH/4)
; "Pas"(=Step) Sens de mouvement par défaut de la balle
sensX=4
sensY=4
;Boucle principale
Repeat
ClearScreen(RGB(0,0,0))
MouseX=MouseX()
mouseY=MouseY()
; Gauche-Droite
; Enlever la largeur de la "raquette" pour ne pas sortir de l'écran
If MouseX<=DskW-200
PosX=MouseX
Else
PosX=DskW-200
EndIf
; Haut-Bas
; Idem penser à enlever la hauteur du sprite pour ne pas sortir de l'écran
If MouseY<=DskH-200
posY=mouseY
Else
posY=DskH-200
EndIf
; Gérer mouvement de la balle, on ne s'occupe pas encore des raquettes
balleX=balleX+sensX
balleY=balleY+sensY
If balleX>=dskW-16 Or balleX<=0
sensX*-1 ; inverser le sens
EndIf
If balleY>=dskH-16 Or balleY<=0
sensY*-1 ; inverser le sens
EndIf
StartDrawing(ScreenOutput())
DrawText(20,20,"MouseX : "+Str(MouseX))
DrawText(20,40,"MouseY : "+Str(MouseY))
DrawText(20,60,"balleX : "+Str(balleX))
DrawText(20,80,"balleY : "+Str(balleY))
StopDrawing()
; Affiche raquette en haut et en bas
DisplayTransparentSprite(#Top,PosX,DskH-16) ; 16 = hauteur du sprite
DisplayTransparentSprite(#Top,PosX,0)
; Affiche à droite et à gauche
DisplayTransparentSprite(#Right,0,PosY)
DisplayTransparentSprite(#Right,DskW-16,PosY) ; 16 = hauteur du sprite
; Balle
DisplayTransparentSprite(#Balle,balleX,balleY)
FlipBuffers()
ExamineKeyboard()
ExamineMouse()
Until KeyboardPushed(#PB_Key_Escape) Or MouseButton(#PB_MouseButton_Left)
Re: qui peux me donner quelques cours pour la création de je
Publié : mer. 01/févr./2012 14:08
par Ar-S
Allez JB13 et autres qui veulent se lancer, le code de Taz est très compréhensif. A vous de continuer ! Lancez vous !
Re: qui peux me donner quelques cours pour la création de je
Publié : ven. 03/févr./2012 4:12
par SPH
Ar-S a écrit :Allez JB13 et autres qui veulent se lancer, le code de Taz est très compréhensif. A vous de continuer ! Lancez vous !
+1 : allez jb13
Re: qui peux me donner quelques cours pour la création de je
Publié : mar. 07/févr./2012 11:45
par TazNormand
Alors JB13, t'en es où ?
Re: qui peux me donner quelques cours pour la création de je
Publié : mar. 07/févr./2012 20:35
par SPH
Il m'a dit qu'il allait coder un half life. heu non, je rigole

Re: qui peux me donner quelques cours pour la création de je
Publié : jeu. 09/févr./2012 16:10
par TazNormand
@JB13 : Je réponds ici à ton MP.
Tu me dis que tu n'as rien compris !!! J'ai repris une partie d'un de tes "anciens" codes, donc tu devrais en comprendre au moins cette partie.
C'est quoi que tu ne comprends pas exactement.
bon, je pars au ski (désolé à ceux qui restent chez eux) dans la nuit de vendredi à samedi, et je n'emmène pas d'ordi, donc je ne pourrais lire les commentaires sur ce site que demain et dans une semaine.
A mon retour, je ferai un semblant de tuto pour créer pas à pas un clone de pong. Mon code ne sera surement pas ce qu'il y aura de plus optimisé, mais devrait donner quelques bases.
Re: qui peux me donner quelques cours pour la création de je
Publié : sam. 11/févr./2012 10:28
par Mesa
Pour commencer à partir de zéro, il faut télécharger ça :
http://www.mediafire.com/?kbhu73aj50pye7a
le lien fonctionnait encore aujourd'hui.
Ce sont les exemples de code du livre en anglais de 2005 de John P. Logsdon's book "Programming 2D Scrolling Games" pour purebasic 3.93. mais traduit en PB4.51 (compatible 4.61)
Le sommaire du livre se trouve ici
http://www.krylarskreations.com/pb_book.html
Les exemples commencent très simplement et sont compréhensible sans le livre.
(A voir
http://www.dbfinteractive.com/forum/ind ... 9#msg70229)
Un tuto en français pour un rpg en PB là
http://www.games-creators.org/wiki/Pure ... r_un_RPG2D
Pour la 2D et la 3D voir ici
http://www.games-creators.org/wiki/Pure_Basic
Mesa.