Se connecter

Informatique

Création de Jeux

Sujet : J'aide les personnes dans DarkBasic Pro
ocelot---------
Niveau 8
17 mai 2005 à 18:01:08

ok merci

Grobourrin_II
Niveau 10
17 mai 2005 à 18:01:57

Entre nous...
J´essaye de me débrouiller au maximum sans tutos.
Mais j´ai pas mal de problème quand même.

Grobourrin_II
Niveau 10
17 mai 2005 à 18:25:06

KESTION: Est-ce qu´on peut mettre dans une ligne de code ceci:
Print " Non, ce n´est pas " ;variable1$" . "
( avec ; variable1$ créée à l´avance) et que ça marche?

ocelot---------
Niveau 8
17 mai 2005 à 18:34:55

entre . ..pas" et ; varia...il ne devrai pa ia avoir despace ( a tu msn? pour voir ce que ta fais merci)et j´ai une question . est ce que se logiciel sere a faire des jv? car la a par un font noir et des phrase qui saffiche que tecrie.... jai rien vu qui resenblai a des jv lol

Grobourrin_II
Niveau 10
17 mai 2005 à 18:37:16

Il n´y a pas d´espace: c´est en postant il se créé automatiquement.
Sinon bien sûr qu´on peut fair des " JV" avec...
Il suffit de patience et de beaucoup de dessins, je suppose.
Question MSN: Ca se pourrait. Mais que voudrais-tu voir à part un petitititititit quiz qui n´est même pas fini?

Grobourrin_II
Niveau 10
17 mai 2005 à 19:15:26

Oui mais tu peux quand même faire un jeu avec DarkBasic? Un quiz c´est pas un jeu?

Bob85778
Niveau 6
17 mai 2005 à 20:53:36

re
Pour mon code laissez tomber c pa grave
j´ai ue question, a quoi servent les commandes:
sync rate 30 et
sync on ?
merci ++

Bob85778
Niveau 6
17 mai 2005 à 20:56:10

ha oui, et DBPro prend les images jpeg

Bob85778
Niveau 6
17 mai 2005 à 21:20:04

et enfin, ou est c qu´on peut se procurer ds curseur ou ptits objet ds le style?

Bob85778
Niveau 6
17 mai 2005 à 21:46:27

bon un dernier truc paske je vais partir, c´est quoi les commande pr afficher des sprites, ou plutot donnez moi un exemple je comprendrais mieu
merci bcp, @+ les gars

Timorite
Niveau 10
17 mai 2005 à 22:13:21

lol ocelot--------- ne pose pas des bêtes questions sans au moins lire ce que j´ai écrit sur la première page du topic :honte: Oui il y a moyen de faire des jeux avec DarkBasic, c´est à ça qu´il sert, que ce soit en 2D ou en 3D ( mais à condition de savoir utiliser un autre programme 3D, par exemple 3D Studio Max, pour importer des objets et des animations).

bob85778 " sync rate" définit le taux de rafraichissement de l´écran en fps ( frames par secondes, donc le nombre d´images affichées par seconde) et " sync on" laisse le programme décider du taux, mais dans ce cas il faut ajouter un " sync" dans sa boucle.

Timorite
Niveau 10
17 mai 2005 à 22:18:18

Et pour tes autres questions, oui il accepte les jpeg ( utiliser load image), et pour les curseurs je ne sais pas désolé, essaye avec google.

Timorite
Niveau 10
17 mai 2005 à 22:23:02

J´avais pas vu la dernière question. Un sprite est une image 2D animée. Par exemple dans un jeu en 2D, chaque personnage qui bouge, ennemi, . .. est un sprite ( bref tout sauf le décor). Dans DarkBasic le plus simple c´est d´uiliser les " Bob", les commandes relatives aux Bobs sont inclues dans le tuto.

Bob85778
Niveau 6
18 mai 2005 à 13:09:53

lu tt le monde

En fait chuis dsl timorite, mais j´ai pas saisi l´utilité de sync...
toi kan tu prog, tu l´utilise?

kan je parlais de jpeg, c´etait pas une kestion, c t juste kon en parlait un peut + haut^^

Pour revenir au sprite(je savais pas que c´etait animé...), je voulais parler en fait d´afficher une image ( genre curseur) pour que quand on tape la fleche bas du clavier, l´image descend un peu

Dc quelle est la commande pr afficher l´image?
est ce ke c´est sa?
LOAD IMAGE " image.jpeg",1
PRINT 1
Et aussi comment fait on pour attribuer a une touche une fonction specifique?c a dire que kan on appuie sur la fleche bas du clavier ( pr reprendre le meme exemple) il se produise qque chose?
merci bcp, a++

prog_debutant
Niveau 4
18 mai 2005 à 15:32:25

bob85778,
c´est presque la même chose que pour les bitmaps :
LOAD IMAGE " image.jpg",1
PASTE IMAGE 1,positionX,positionY

Tu peux rajouter la commande
GET IMAGE numéro de l´image,gauche,haut,droite,bas
entre les deux, pour " couper" une partie bien précise de l´image.

prog_debutant
Niveau 4
18 mai 2005 à 15:44:17

bob85778,
je n´avais pas vu ta deuxième question !
Si ta touche est une touche très " classique", du genre la barre d´espace ou les flèche, tu peut utiliser la commande spécifique de la touche :

par exemple, pour la flèche haut :
UPKEY()
cette commande retourne un 1 si la touche est active ( tu presses dessus), ou inactive ( relachée).
Je ne vaîs pas te donner d´exemple, dans le sens que j´ai écrit un programme ( dont je posterai le code après) qui utilise cette fonction.
Maintenant, si tu veux programmer une touche du genre " F12" ou " -", tu dois procéder en deux étapes :
1 : reécupérer le code de la touche :
utilise la commande scancode() de manière à voir le code de ta touche :

DO
CLS
PRINT SCANCODE()
LOOP

et voilà, tu a le code de ta touche qui apparaît
à l´écran ( à toi de le noter sur un bout de papier).

2 : contrôler l´état de la touche :
utilise la commande keystate(). Voici la syntax de cette commande :
KEYSTATE(code de la touche)
le code de la touche, c´est celui que tu a récupéré avant. La commande Keystate retourne un 1 si la touche est active, et un 0 si elle est inactive. Voilà, en gros, comment on fait.

prog_debutant
Niveau 4
18 mai 2005 à 15:50:20

timorite
tu as changé de pseudo ?
Merci de m´avoir signalé la faute, effectivement, ça venait de moi ! Je vous envoie donc la version corrigée ( si tu trouve encore des bug, signale les moi.). Concernant ta question, je ne sais pas encore quel type de jeu je vais faire. C´est pas les idées qui manquent, bien au contraire ! C´est justement ça le problème... j´ai trop d´idées... Je ne sais pas si il y a un type de jeu plus simple à créer qu´un autre, je réfléchi encore... le problème, c´est que je suis à la fois programmeur, graphiste, scénariste, chef de projet etc! Il faut donc un jeu qui soit à la fois simple à programmer et qui copntienne des perso assez simple. Mais j´ai le temps de réfléchir!

prog_debutant
Niveau 4
18 mai 2005 à 15:52:53

rem voici la versio corrigée de mon uilitaire!

rem sauvegarde : l´utilitaire de lecture !

rem même chose que tout à l´heure : plein écran et Verdana
rem avec accents
set window off
set text font " Verdana",1

rem pour mettre un peu de fantaisie, je vous propose de mettre un peu
rem de couleur dans votre programme
blanc = rgb(255,255,255)
noir = rgb(0,0,0)
vert = rgb(0,255,0)
bleu = rgb(0,0,255)
rouge = rgb(255,0,0)

rem début du code
print
print " utilitaire de lecture des sauvegardes"
print " j´ai besoin de savoir dans quel répertoire sont stockées vos données"
print " appuyez sur une touche pour choisir votre repertoire"
wait key

rem les deux choix sont copier dans les variables, pour ne pas avoir besoin de les
rem retaper à chaque fois
cur = 1
a$ = " je désire taper le nom du repertoire"
b$ = " pour allez plus vite, je préfère copier-coller le nom du repertoire"

repeat
rem partie une : lecture des actions de l´utilisateur
rem si l´utilisateur appuie sur haut, le curseur vert monte
if upkey() = 1
cur = cur - 1
endif
rem si l´utilisateur appuie sur bas, le curseur vert descend
if downkey() = 1
cur = cur + 1
endif
rem ça, c´est pour éviter que le curseur soit sur le choix 3 ou -1,
rem vue que ces derniers n´existent pas !
if cur < 1
cur = 1
endif
if cur > 2
cur = 2
endif

rem partie deux : affichage

rem s´occupe de mettre le focus en surbrillance
cls
print
if cur = 1
set text opaque
ink noir,vert
print a$
ink blanc,noir
set text transparent
else
print a$
endif

if cur = 2
set text opaque
ink noir,vert
print b$
ink blanc,noir
set text transparent
else
print b$
endif

print
print " appuyez sur return pour valider votre choix"

rem quand l´utilisateur appuyera sur RETURN, on sortira de la boucle
until returnkey() = 1

rem détermine le choix de l´utilisateur
if cur = 1
rem choix 1 : l´utilisateur entre les données au clavier
input " veuillez indiquer où sont stockées les données : " ; sousdos$
rem si le chemin n´existe pas, le programme se termine
if path exist(sousdos$) = 0
print " erreur : le fichier que vous avez écrit n´existe pas"
wait key
end
endif

else
rem choix deux, l´utilisateur veut copier-coller le nom du repertoire
cls
print
print " allez dans le repertoire où se trouve votre sauvegarde,"
print " sélectionnez le nom complet du répertoire et faites :"
print " -clique droit"
print " -copier"
print " et revenez dans le programme en cliquant sur son icône dans"
print " la barre en bas de l´écran."
print
print " appuyez sur une touche pour cacher le programme sans l´interrompre"
wait key
rem réduit la fenêtre
set window on
wait key
rem repasse en mode plein écran
set window off
set text font " Verdana",1
print " appuyez sur une touche pour coller le nom du repertoire"
wait key
rem get clipboard$() retourne le contenu du presse papier et le
rem stocke dans la variable sousdos$
sousdos$ = get clipboard$()
rem si le chemin n´existe pas, le programme se termine
if path exist(sousdos$) = 0
print " erreur : le chemin que vous avez entré n´existe pas"
wait key
end
endif
endif

rem choisi comme répertoire le répertoire mentionné
set dir sousdos$
print " emplacement du bloc de sauvegarde : " ; get dir$()
rem demande à l´utilisateur le n° du bloc
print " veuilez spécifier le n° du bloc : " ;
input nbloc
wait key
cls
print " la lecture des données commencera automatiquement dans quelques secondes..."
sleep 1000
rem cherche le nom de fichier " bloc"+n°du bloc+".txt"
datname$ = " bloc" + str$(nbloc) + " .txt"
rem vérifie que le fichier existe
if file exist(datname$) = 1
rem ouvre le fichier en mode lecture
open to read 1,datname$
sleep 1000
rem lit les informations qu´il contient
read string 1,info1$
read string 1,info2$
else
rem pour le cas où le fichier n´existerait pas, affiche un message d´erreur
print " le fichier " ; datname$; " n´existe pas ou n´est pas dans le dossier spécifié"
wait key
end
endif
rem affiche le contenu du fichier
print
print " * contenu de " ; datname$; " *"
print
print info1$
print info2$
wait key
end

remstart
écrit par prog_debutant
commentaire : ce programme est libre de droit. Vous pouvez le publier en
exemple sur votre site ou l´utiliser dans votre programme sans autorisation spéciale.
Si vous repérez des problèmes ( bug, remarque pas clairs...), n´hésitez pas
à me le faire savoir, je me ferai un plaisir de vous renseigner !
Note : ce programme a été testé et fonctionne parfaitement sous DarkBASIC pro
remend

Timorite
Niveau 10
18 mai 2005 à 15:56:14

Et pour le sync, pour l´instant j´utilise toujours sync on. En fait cette commande sert à ce que le programme ait une tolérance de " ramage" pour les scènes 3D trop complexes. Mais étant donné que pour l´instant je n´ai pas trop de polygones dans mes objets je n´ai pas besoin d´y chipotter, donc je laisse sync on qui gère automatiquement le taux de rafraichissment.

Pour attribuer a une touche, tu as soit toutes les commandes upkey, donkey, controlkey,... ( qui sont citées dans le tuto), soit les scancodes pour toutes les autres touches. Par exemple:

if upkey=1 then...

ce qui veut dire que lorsqu´on appuye sur la flèche du haut du clavier il se passe...

if keystate(33)=1 then...

lorsqu´on appuye sur touche f du clavier ( correspondant au scancode 33) il se passe...

Timorite
Niveau 10
18 mai 2005 à 15:58:11

lol c´est malin on a répondu en même temps :rire:

Sujet : J'aide les personnes dans DarkBasic Pro
   Retour haut de page
Consulter la version web de cette page