CONNEXION
  • RetourJeux
    • Tests
    • Soluces
    • Previews
    • Sorties
    • Hit Parade
    • Les + populaires
    • Les + attendus
    • Tous les Jeux
  • RetourActu
    • Culture Geek
    • Astuces
    • Réalité Virtuelle
    • Rétrogaming
    • Toutes les actus
  • Black Friday
  • RetourHigh-Tech
    • Actus JVTECH
    • Bons plans
    • Smartphones
    • Mobilité urbaine
    • Hardware
    • Image et son
    • Tutoriels
    • Tests produits High-Tech
    • Guides d'achat High-Tech
    • JVTECH
  • RetourVidéos
    • A la une
    • Gaming Live
    • Vidéos Tests
    • Vidéos Previews
    • Gameplay
    • Trailers
    • Chroniques
    • Replay Web TV
    • Toutes les vidéos
  • RetourForums
    • Hardware PC
    • PS5
    • Switch
    • Xbox Series
    • Overwatch 2
    • FUT 23
    • League of Legends
    • Genshin Impact
    • Tous les Forums
  • PC
  • PS5
  • Xbox Series
  • PS4
  • One
  • Switch
  • Wii U
  • iOS
  • Android
  • MMO
  • RPG
  • FPS
En ce moment Genshin Impact Valhalla Breath of the wild Animal Crossing GTA 5 Red dead 2
Etoile Abonnement RSS

Sujet : J'aide les personnes dans DarkBasic Pro

DébutPage précedente
«1  ... 3334353637383940414243
Page suivanteFin
Qosimo Qosimo
MP
Niveau 37
27 décembre 2006 à 16:14:08

Hello !

Pour le rebond, Timorite a déjà répondu.

Pour la question du bond, si ça peux vous aider, voici le principe du mouvement balistique.

Prenons un exemple tout simple : un canon qui tire un boulet horizontalement. Notre boulet évolue dans un espace à deux dimension, mais nous pouvons séparer son déplacement en deux autres distinct, un sur l´axe des x et un sur l´axe des y. Il aura donc deux variables pour définir sa position : une x et une y. Pour trouver x, voici la "formule" :

position X (au temps t) = (Vitesse du boulet * t) + Position d´origine sur l´axe des x.

Note : on appelle ce type de déplacement un MRU, c.a.d. un mouvement rectiligne uniforme. Cela signifie en gros que la vitesse est constante (dans la réalité, il y aurait encore les forces de frotement, mais nous ferons abstraction).

Pour trouver Y, c´est un petit peu plus compliqué. En effet, cette fois le mouvement ne sera plus un simple MRU, mais un MRUA, c.a.d. un Mouvement rectiligne uniformément accéléré, car il existe une force sur l´axe des y qui accèlère l´objet vers le bas : la gravité.

Voici l´équation d Y :

position Y (au temps t) = (0.5*Gravité*(t^2)) + vitesse d´origine * t + position d´origine sur l´axe des y.

Cela devrait vous donner un joli mouvement balistique.

J´ai fait par hasard un test hier soir,un jeu tout simple pour vérifier qaue ça marche : Un pirate, sur une montagne, qui doit tirer sur un bateau (imobile) dans l´eau en bas. Ca fonctione bien :)

Pour indication, la gravité terrestre est de 9.81 Newton par KG.

Après, mais ceci n´est qu´une hypothèse, je suppose que pour déplacer un personnage, tu crées deux variables : une avec sa vitesse sur l´axe de x et une avec sa vitesse sur l´axe des y, et tu introduit ça dans les équation si dessous. Cela revient au même que de créer un vecteur de déplacement et de le projeter via la trigonométrie sur les axes x et y [ dans un cas orthonormé ].

Voilà, j´espère que vous avez compris.

Timorite Timorite
MP
Niveau 10
27 décembre 2006 à 16:26:14

Salut Qosimo.

Je vois que tu as sorti tes cours de physique. Je ne sais pas si ces formules peuvent être utiles dans l´élaboration d´un code, mais en tout cas ça explique bien le mouvement du projectile. :ok:

Qosimo Qosimo
MP
Niveau 37
27 décembre 2006 à 16:57:08

Hihi...

Ouai, c´est aussi ce que je me demande. Alors j´ai l´intention d´essayer ça un de ces jours... Je suis en vacances ces temps. Je vais essayer de créer un petit jeu genre Mario mais sans scrolling, juste sur un écran, avec un seul niveau, en fait le minimum pour essayer de créer un personnage au mouvement "réalistes". Ce qui me gène dans ma méthode, c´est que je me demande s´il elle fonctionne pas "trop" bien : par exemple, dans mario, tu peux, pendant un saut, appliquer une légère force afin de maitriser un peu ton déplacement. Je sais pas trop comment faire ça. Enfin, je vais essayer, je verrai bien ce que ça donne... :)

Qosimo Qosimo
MP
Niveau 37
28 décembre 2006 à 15:13:14

Comme promis, voici le début de mes tests. Ce premier programme gère seulement les déplacements gauche/droite grâce aux forces. La prochaine étape est les déplacements sur l´axe des Y.

J´ai essayé de commenter un minimum le code, mais si vous voulez plus d´explication, n´hésitez pas à me demander. D´ailleur, si vous pensez pouvoir faire plus simple, n´hésitez pas à faire part de vos méthode. C´est comme ça qu´on apprend :)

Qosimo Qosimo
MP
Niveau 37
28 décembre 2006 à 15:13:54

remstart
Super Box Land
Un petit programme pour tester les déplacements de personnages.
Ce programme ne nécessite aucun média, car le tout est créé à partit d´instructions DBPro.
remend

set window off

`variables de couleurs
bleu = rgb(0,0,255)
vert = rgb(0,255,0)
rouge = rgb(255,0,0)
brun = rgb(210,190,160)

`variables générales

`permet de gérer le sable
boxx = 0
boxy = 400
boxw = 640
boxh = 80

`permet de gérer le personnage
`général
mariox = 100 `coordonée x d´origine du personnage (là où il commence au début)
marioy = 384 `coordonée y d´origine du personnage (là où il commence au début)
mariow = 16 `largeur
marioh = 16 `hauteur

`cette partie gère la physique de l´axe des X
marioforcex = 1 `en augmentant cette valeur, mario accélère plus rapidement.
mariovitessex = 0 `ne pas toucher cette valeur, car mario commence immobile au début du jeu.
mariovitessemaxpositiv = 2 `en augmentant cette valeur, mario aura une vitesse de pointe plus élevée
mariovitessemaxnegativ = -2

repeat
`affichage des éléments fixes :
box 0,0,640,400,bleu,bleu,bleu,bleu `ciel
box boxx,boxy,boxx+boxw,boxy+boxh,brun,brun,brun,brun `sable

`PHYSIQUE SUR L´AXE DES X

`fonctionnement : si on appuie sur droite, on accélère la vitesse par la force, à condition que la vitesse maximum
`mariovitessemaxpositiv ne soit pas atteinte.
if ((rightkey()=1) AND (mariovitessex < mariovitessemaxpositiv))
mariovitessex = mariovitessex + marioforcex
endif
`même principe pour la touche gauche
if ((leftkey()=1) AND (mariovitessex > mariovitessemaxnegativ))
mariovitessex = mariovitessex - marioforcex
endif
`ceci ramène les forces à 0 si on ne donne aucune direction à mario
if ((leftkey()=0) AND (rightkey() = 0) AND (mariovitessex <> 0))
if mariovitessex < 0 then mariovitessex = mariovitessex +1
if mariovitessex > 0 then mariovitessex = mariovitessex -1
endif

`la nouvelle position vaut : ancienne position (sur les X) + vitesse (sur les X)
mariox = mariox + mariovitessex

`PHYSIQUE SUR L´AXE DES Y

`en cours de rédaction !! !

if mariox > 640 then mariox = 1 `mario ne sort pas de l´écran
if mariox < -16 then mariox = 640 `idem

box
mariox,marioy,mariox+mariow,marioy+marioh,rouge,ro
uge,rouge,rouge `mario

`INSTRUCTION POUR LE DEBUGGAGE

xstring$ = "Vitesse X = " + str$(mariovitessex)
ystring$ = "Vitesse Y = " + str$(mariovitessey#) `inutile pour le moment

text 100,100,xstring$
text 100,120,ystring$

text 300,100,str$(mariox) `simplement les coordonnées
text 300,120,str$(marioy)
until returnkey()=1

Timorite Timorite
MP
Niveau 10
28 décembre 2006 à 18:12:13

J´ai pas encore testé le code mais à vue de nez y´a rien à redire. C´est un bon début. :oui:

Qosimo Qosimo
MP
Niveau 37
30 décembre 2006 à 11:46:58

Ouai, pour l´instant ça a l´air de fonctionner. Bon, pour l´instant, le seul problème est que l´effet d´accélération n´est pas visible, ce qui est d´ailleurs normal vu que la vitesse passe de 1 à 2 frames par seconde en seulement 1 frame ! Je me demande si je vais essayer de faire une accélération plus lente, ce qui donnerait une maniabilité genre sonic, ou si je fais une maniabilité genre mario, avec une seul vitesse, plus un bouton de course. Je vais y réfléchir.

Actuellement, je suis un peu aux prises de la gravité (sans faire de jeux de mots). J´hésite entre deux méthodes :

-la gravité agit en permanence, et quand mon perso touche un sol, c´est à dire quand il y a collision, le déplacement est annulé.
-le deuxième, la gravité agit seulement quand il n´y a pas de contact avec le sol.

Je crois que la première est meilleur, je vais plutôt dans cette direction.

Voilà, à plus :)

[_Pator_] [_Pator_]
MP
Niveau 10
30 décembre 2006 à 14:23:37

Merci pour vos réponses :ok:

the_huntress the_huntress
MP
Niveau 24
06 janvier 2007 à 19:48:55

Eh beh voilà ca fait 2ans que j´étais sur ton topic et ca continue, c´est bien de voir qu´il n´a pas coulé :D

pxidr pxidr
MP
Niveau 7
27 mars 2007 à 08:20:03

Un petit up ne ferait de mal à personne :ok:
J´aurais une question à propos de la création d´un fondu de transition ^^

UDun UDun
MP
Niveau 10
27 mars 2007 à 17:19:52

Quelle genre de question ? Quelques détails ? :)

pxidr pxidr
MP
Niveau 7
07 avril 2007 à 19:32:39

Dsl du retard ^^
En fait la transition en fondu d´une image vers une autre...

Pseudo supprimé
Niveau 9
07 avril 2007 à 19:43:08

Salut, j´ai un petit problème. J´arrive pas à comprendre comment on utilise la commande set current bitmap. Merci de m´aider.

Pseudo supprimé
Niveau 7
09 juin 2007 à 19:50:20

salut,
sous DB, si on veux utiliser comme map un fichier 3ds, on est donc obligé de gerer les collisions soit même ?
Parceke g modeliser mon labo de chimie et jvoudrais me balader dedant après, ya les moteur de rendu temps réel mais sont pas gratuits.

Sinon i vous aez une astuce pour convertir du 3ds en bsp ?. ..
j´me demandait si on pouvais pas convertir du 3dsmax sortie en .map puis sur radian en bsp ?

a tt

waragamer waragamer
MP
Niveau 10
03 juillet 2007 à 18:45:39

:salut:
avant de penser a acheter ce truc je voudrais savoir:
1. on peux faire quoi comme jeux?
2. c´est facile a comprendre ou ta des codes de 5 page pour faire un truc simple comme avancer?
3. Ya des tuto simple pour commencer?^^(francais ou anglais peux importe)

UDun UDun
MP
Niveau 10
03 juillet 2007 à 19:09:29

1/ Tout type de jeu "raisonnable" est réalisable. FPS, stratégie en 3D, 2D...

J´ai justement terminé mon jeu en Dark Basic Pro, si tu veux jeter un coup d´oeil :
http://www.pc-infogame.com

2/ Au niveau du code, c´est vraiment simple. Avancer un objet, c´est juste utiliser : move object ID_Objet, Distance... C´est un langage très accessible et bien documenté. Je te conseille de tester la version démo pour t´en rendre compte.

3/ Tutos simples ? Pleins d´exemples sont fournis avec le logiciel. La communauté est aussi très active sur le forum officiel.

waragamer waragamer
MP
Niveau 10
03 juillet 2007 à 21:17:52

^^ merci :D
j´avait essayer le flash mais c´est imcompréensible :o))
ca doit ressembler a ame maker donc ca doit être relativement facile
:merci:

UDun UDun
MP
Niveau 10
04 juillet 2007 à 14:01:03

Ouais ça reste assez simple mais pas autant que Game Maker ou FPS Creator. Ca reste de la programmation classique (boucles, structures, tableaux...) mais sans éditeur de niveaux, graphiques...

waragamer waragamer
MP
Niveau 10
04 juillet 2007 à 15:31:40

quand je l´ouvre ya que un gross collone ou faut écrire les codes :O
ya pas un truc ou tu entre tes modele 2D/3D?

UDun UDun
MP
Niveau 10
04 juillet 2007 à 15:43:07

Ah non y a pas d´éditeur graphique, d´interface... enfin seulement un éditeur de code ^^

Pour utiliser tes modèles, il faut simplement utiliser la commande load object "chemin", ID dans une boucle :

load object "modeles.X", 1

Do

sync
Loop

DébutPage précedente
Page suivanteFin
Répondre
Prévisu
?
Victime de harcèlement en ligne : comment réagir ?
La vidéo du moment