FORUM DE DISCUSSION SUR LE LANGAGE PANORAMIC

Développement d'applications avec le langage Panoramic
 
AccueilAccueil  FAQFAQ  RechercherRechercher  S'enregistrerS'enregistrer  MembresMembres  GroupesGroupes  Connexion  
Derniers sujets
» un nouveau editeur panobasic
par pascal10000 Hier à 21:52

» COMPILATEUR V 0.9 beta 7 du 10 aout 2017
par Jack Hier à 20:23

» Pb 16 (en analyse): ON_CLOSE plante à l'exécution
par Jack Hier à 20:00

» Pb 15 (en analyse): TIMER_ON plante à l'exécution
par Jack Hier à 19:58

» Compilateur FBPano
par jean_debord Hier à 8:49

» KGF_dll - nouvelles versions
par Yannick Dim 13 Aoû 2017 - 17:35

» probleme d'outil
par Yannick Dim 13 Aoû 2017 - 17:32

» Carte de France des régions
par Yannick Sam 12 Aoû 2017 - 21:33

» Pb 14 (en analyse): PRINT_LOCATE plante à l'exécution
par Jack Ven 11 Aoû 2017 - 22:37

» Petit avertissement [Mots réservés]
par papydall Ven 11 Aoû 2017 - 13:45

» Distances sur plan
par JL35 Jeu 10 Aoû 2017 - 21:29

» Tracé : Triangle, Carrée, Dents de scie, Sinusoïde redressée
par papydall Jeu 10 Aoû 2017 - 14:52

» Troncature dans une image
par JL35 Mer 9 Aoû 2017 - 13:45

» A chacun son point de vue
par papydall Mar 8 Aoû 2017 - 17:20

» Problème avec les chaines de caractères
par bignono Dim 6 Aoû 2017 - 9:33

Navigation
 Portail
 Index
 Membres
 Profil
 FAQ
 Rechercher
Rechercher
 
 

Résultats par :
 
Rechercher Recherche avancée
Août 2017
LunMarMerJeuVenSamDim
 123456
78910111213
14151617181920
21222324252627
28293031   
CalendrierCalendrier

Partagez | 
 

 Un déplacement FPS en 3D

Voir le sujet précédent Voir le sujet suivant Aller en bas 
AuteurMessage
The Gamer

avatar

Nombre de messages : 110
Age : 23
Localisation : Toulouse (31)
Date d'inscription : 11/05/2010

MessageSujet: Un déplacement FPS en 3D   Mar 21 Avr 2015 - 13:15

Bonjour a tous,

J'ai pas touché a Panoramic depuis deux ans et je me suis remotivé il y a quelque jours pour écrire un programme de déplacement dans un environnement 3D. C'est peu être le début d'un FPS ? Mais pour l'instant ca reste inutile. Je le partage car il peut vous interesser...

Code:
' ======= Déclaration des label =======
' Positionnnement de la souris
label position_souris


' ======= Déclaration des variables   =======

' Comportement de la souris
dim souris_x_init
dim souris_x_comp
dim souris_y_init
dim souris_y_comp

' Repère sphérique et cartésiens pour le pointage caméra
dim sph_point_teta
dim sph_point_phi
dim sph_point_R

dim cart_point_x
dim cart_point_y
dim cart_point_z

' Repère cartesien pour la position de la caméra
dim cam_pos_x
dim cam_pos_y

' Sensibilité de la souris
dim sensi

' Vitesse de déplacement
dim vit_depl

' ======= Initialisation des variables  =======
sph_point_R = 0.5
sph_point_teta=0
sph_point_phi=0
sensi=-0.05
cam_pos_x = 0
cam_pos_y = 0
vit_depl = 0.1

' ======= Initialisation de l'affichage  =======


' Création de la fenetre
caption 0,"Test de caméra 3D"
full_space 0


' === Création de l'environnement 3D de déplacement de la caméra ===
' Légende des couleur
' x: Rouge
' y: vert
' z: Bleu

scene3d 1
full_space 1
axes_show
color 1,0,0,0
cursor_hide 1

3d_plane 2
3d_position 2,0,0,0
3d_load_texture 2,"terrain.bmp"
3d_x_rotate 2,90
3d_u_tile 2,5
3d_v_tile 2,5

3d_sphere 3,0.005
3d_color 3,255,0,0

' === FIN de la création de la map ===

' affichage de la fenetre de test commande
form 10
caption 10,"test"
height 10,90
width 10,60


' ======= PROGRAMME PRINCIPAL Création du timer de surveillance de la souris =======
timer 30
timer_interval 30,5
on_timer 30,position_souris

end

' ======= Ecriture des sous-programmes =======


' === Programme principal ===

position_souris:

' Surveillance du pointeur + position pointage
print_target_is 10
print_locate 0,0
print sph_point_teta

' Test sur le comportement du pointeur
' Comportement horizontal
  if souris_x_init <> mouse_x_position(1)
     sph_point_phi = sph_point_phi-(mouse_x_position(1)-souris_x_init)*sensi
  end_if

' Comportement vertical
 if souris_y_init <> mouse_y_position(1)
     sph_point_teta=sph_point_teta+(mouse_y_position(1)-souris_y_init)*sensi
     if sph_point_teta > 24.8
      sph_point_teta=24.8
     end_if
     if sph_point_teta < 14.85
      sph_point_teta=14.85
     end_if
 end_if

 ' Test sur le comportement des touches du clavier
 if scancode=90
     cam_pos_x = cam_pos_x + vit_depl*(cart_point_x-cam_pos_x)
     cam_pos_y = cam_pos_y + vit_depl*(cart_point_y-cam_pos_y)
 end_if

 if scancode=83
     cam_pos_x = cam_pos_x - vit_depl*(cart_point_x-cam_pos_x)
     cam_pos_y = cam_pos_y - vit_depl*(cart_point_y-cam_pos_y)
 end_if
 
 if scancode=27
  timer_off_all
  terminate
 end_if
 
 
 ' Calcul des coordonnées du pointeur 3D
 cart_point_x = cam_pos_x + sph_point_R*cos(sph_point_teta/3.141592654)*cos(sph_point_phi/3.141592654)
 cart_point_y = cam_pos_y + sph_point_R*cos(sph_point_teta/3.141592654)*sin(sph_point_phi/3.141592654)
 cart_point_z = 1+sph_point_R*sin(sph_point_teta/3.141592654)
 
 ' Calcul des coordonnées de la caméra
 
 ' Actualisation affichage
 3d_position 3,cart_point_x,cart_point_z,cart_point_y
 point_position cart_point_x,cart_point_z,cart_point_y
 cam_position cam_pos_x,1,cam_pos_y

light_x_position cam_pos_x
light_z_position cam_pos_y

souris_x_init=mouse_x_position(1)
souris_y_init=mouse_y_position(1)

return

L'image de texture est à télécharger ici: terrain.bmp

Il faut la placer au même endroit que le programme dans voter disque dur.

J'avoue que mon système d'angle (ni en degres/ni en radians, un peu empirique en fait Razz) et de coordonées cartésienne (y et z inversés) est un peu bancale mais regardez ca marche ! N'hésitez pas a réemployer ce code !!

Je dois avouer que j'étais un peu degouté quand j'ai découvert les nouvelle fonctions ajoutées a PANO le 19 Avril (elles m'auraient grandement simplifié la vie). Mais je préfère rester a l'ancienne pour garder un controle total (sur la position de la caméra et du pointeur 3D notemment).

EDIT: Avancer --> touche Z
Reculer --> touche S


Dernière édition par The Gamer le Mar 21 Avr 2015 - 19:54, édité 1 fois
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://pierrehardy.pagesperso-orange.fr/
Yannick

avatar

Nombre de messages : 7961
Age : 46
Localisation : Bretagne
Date d'inscription : 15/02/2010

MessageSujet: Re   Mar 21 Avr 2015 - 14:23

cheers cheers cheers cheers cheers

Bravo ! 
juste une petite remarque pour les déplacements,
il aurait été plus intuitif de prendre les touches "flèches"
et pour quitter "Echap".

Continu ! j' ai hate de voir la suite... Laughing
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
Jicehel

avatar

Nombre de messages : 5849
Age : 45
Localisation : 77500
Date d'inscription : 19/04/2011

MessageSujet: Re: Un déplacement FPS en 3D   Mar 21 Avr 2015 - 15:17

Merci The Gamer pour ce partage. C'est excellent et ça répond très bien.
PS pour Ygeronimi pour commander à partir des flèches: pour le up, il suffit de rajouter un or scancode=38 et pour le bas scancode=40

Tu peux regarder les programmes qu'avait fait Bignono (la ville 3D par exemple ou le labyrinthe 3D) qui était pas mal poussés au niveau du moteur et puisse que Bignono est devenu fainéant sur la 3D depuis quelques temps, tu peux essayer d'améliorer son jeu de Buggy en 3D qui est à ce jour, sauf homission de ma part le jeu en 3D le plus évolué réalisé en Panoramic (il a fait un autre jeu super jouable dont j'ai oublié le nom ou tu avance tout le temps en évitant des obstacles. Il est encore plus jouable mais moins "développé" ou complexe que le jeu de buggy même s'il reste pas mal de boulot à faire dessus pour le rendre parfait.

Je pense que tu vas ajouter la rotation (ou/et) le déplacement latéral par les touches ?

Tu vas laisser le contrôle de l'angle de vision à la souris ou tu va ajouter la possibilité de le faire aussi au clavier ?
(PS: avec aussi la réinit à la vue "horizontale de face" du personnage qui est souvent la plus utilisée quand on joue au FPS ?)

En tout cas ton moteur de FPS est bien commencé et j'espère que tu vas pouvoir continuer et réussir à faire un moteur complet et un FPS très sympa.

PS: Sur nos webdav, il y a plein d'objets et de personnages avec des animations (M2D pour les 3D_actor).
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
The Gamer

avatar

Nombre de messages : 110
Age : 23
Localisation : Toulouse (31)
Date d'inscription : 11/05/2010

MessageSujet: Re: Un déplacement FPS en 3D   Mar 21 Avr 2015 - 19:58

Merci pour vos encouragements !! Et merci pour vos idées d'améliorations aussi.

Pour les touches de déplacement c'est Z et S (je sais pas si vous avez testé). Je vais essayer de créer un décor et d'ajouter un déplacement latéral. Mais c'est un projet qui va peux etre pas voir le jour tout de suite ^^ mais ca m'a bien remotivé d'arriver a faire ca cheers

Le scancode n°27 ne correspond pas à la touche échap chez vous ?
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://pierrehardy.pagesperso-orange.fr/
Jean Claude

avatar

Nombre de messages : 4988
Age : 63
Localisation : 83 Var
Date d'inscription : 07/05/2009

MessageSujet: Re: Un déplacement FPS en 3D   Mar 21 Avr 2015 - 21:07

J'ai testé ton code ce matin, The Gamer, et je te confirme que la sortie par la touche [Echap] fonctionne. Je ne vois pas comment il pourrait en être autrement, car les codes des touches du clavier sont universelles.

Impatient de voir la suite.

A+
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
Yannick

avatar

Nombre de messages : 7961
Age : 46
Localisation : Bretagne
Date d'inscription : 15/02/2010

MessageSujet: re   Mar 21 Avr 2015 - 21:41

Pour le scancode de la touche "echap", c' est 35.
27, c' est pour keydown_special.

flèche haut     : 38
flèche bas      :40
flèche gauche : 37
flèche droite   : 39
Echap            : 35
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
Jicehel

avatar

Nombre de messages : 5849
Age : 45
Localisation : 77500
Date d'inscription : 19/04/2011

MessageSujet: Re: Un déplacement FPS en 3D   Mar 21 Avr 2015 - 22:40

Tu as un clavier special ygeronimi pour nous le code de la touche echap est bien 27.
C'est ce que l'on met tous dans nos programmes depuis pas mal de temps ...
Désolé de te contrarier mais là à priori c'est ton clavier qui marche mal ou qui envoi un code special.
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
papydall

avatar

Nombre de messages : 5501
Age : 67
Localisation : Moknine (Tunisie) Entre la chaise et le clavier
Date d'inscription : 03/03/2012

MessageSujet: Re: Un déplacement FPS en 3D   Mer 22 Avr 2015 - 0:27

@ygeronimi

Le scancode 35 n’est pas pour <ESCAPE> (<ECHAPE> si vous voulez) : c’est pour <#>
Le scancode de <ECHAPE> est bien 27.

Si ton clavier « s’entête »  à fournir 35 comme scancode pour <ESCAPE>,  tu feras mieux de l’envoyer ad patres.
Mais je pense qu'il est innocent le pauvre !
En attendant, tu peux exécuter ce
Code:
EXECUTE_WAIT "osk.exe"
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://papydall-panoramic.forumarabia.com/
Yannick

avatar

Nombre de messages : 7961
Age : 46
Localisation : Bretagne
Date d'inscription : 15/02/2010

MessageSujet: re   Mer 22 Avr 2015 - 4:31

Voilà ce que j' ai, lorsque que je "tape" sur <Echap> :

et 51 pour <#> qui est aussi <3> et <">

@ Papydall, mon clavier visuel est inaccessible par cette commande.

Edit : J' ai le même résultat avec le clavier visuel
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
Klaus

avatar

Nombre de messages : 10062
Age : 68
Localisation : Ile de France
Date d'inscription : 29/12/2009

MessageSujet: Re: Un déplacement FPS en 3D   Mer 22 Avr 2015 - 10:40

Etrange. Chez moi, ça donne bien 27 pour KEY_DOWN_CODE et pour SCANCODE.
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://klauspanoramic.comxa.com/index.html
Jicehel

avatar

Nombre de messages : 5849
Age : 45
Localisation : 77500
Date d'inscription : 19/04/2011

MessageSujet: Re: Un déplacement FPS en 3D   Mer 22 Avr 2015 - 13:26

Pour moi, le scancode 35 correspond à la touche 1 de mon pavé numérique
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
Jean Claude

avatar

Nombre de messages : 4988
Age : 63
Localisation : 83 Var
Date d'inscription : 07/05/2009

MessageSujet: Re: Un déplacement FPS en 3D   Mer 22 Avr 2015 - 13:32

@Jicehel,
Oui c'est bien 35 pour le 1 du pavé numérique s'il est verrouillé, sinon c'est 97.

Bizarre le problème de Ygéronimi. Question Question

A+
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
papydall

avatar

Nombre de messages : 5501
Age : 67
Localisation : Moknine (Tunisie) Entre la chaise et le clavier
Date d'inscription : 03/03/2012

MessageSujet: Re: Un déplacement FPS en 3D   Mer 22 Avr 2015 - 14:58

Spoiler:
 

@ygeronimi

Teste ce code en REMant tantôt la ligne  4, tantôt la ligne 3
Si dans les deux cas, tu sors du programme, c’est que c’est « OK »
Sinon redémarre ton PC et fais un autre test.
Si le problème persiste, tu peux soupçonner ton clavier.

Code:
repeat
   print key_down_code ; "  " ; scancode : pause 1000
 until key_down_code = 27
' until scancode = 27
print key_down_code ; "  " ; scancode
message "terminé"
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://papydall-panoramic.forumarabia.com/
jimx78

avatar

Nombre de messages : 240
Age : 25
Localisation : Yvelines
Date d'inscription : 24/05/2010

MessageSujet: Re: Un déplacement FPS en 3D   Mer 22 Avr 2015 - 17:21

Hey the gamer! On été sur proxs 2D ya longtemps!

Je test ce soir, la je suis sur mon tel, j'ai des trucs intéressent pour toi.
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
Jicehel

avatar

Nombre de messages : 5849
Age : 45
Localisation : 77500
Date d'inscription : 19/04/2011

MessageSujet: Re: Un déplacement FPS en 3D   Mer 22 Avr 2015 - 18:31

Jinx78 revient  Wink   J'espère que ça relancera les jeux 3D, tu avais pas mal avancé sur le sujet.
Avec vous 2 et pour le peu que Bignono s'en mêle, ça promet de bonnes choses...


Dernière édition par Jicehel le Mer 22 Avr 2015 - 19:15, édité 1 fois
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
jimx78

avatar

Nombre de messages : 240
Age : 25
Localisation : Yvelines
Date d'inscription : 24/05/2010

MessageSujet: Re: Un déplacement FPS en 3D   Mer 22 Avr 2015 - 19:09

merci Jicehel

J'ai changer depuis le temps, (j'étais un grand timide) pour ceux qui veulent discuter autre que sur le forum, mon skype c'est jimx78

J'ai aussi un téléphone mais c'est pour les intimes ;D Sinon, y a t'il un TS ?
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
Jicehel

avatar

Nombre de messages : 5849
Age : 45
Localisation : 77500
Date d'inscription : 19/04/2011

MessageSujet: Re: Un déplacement FPS en 3D   Mer 22 Avr 2015 - 19:20

TS ? J'imagine que tu ne parles pas de tentatives de suicides ou de Taxe sur les Salaires ou, Traitements et Salaires
Team speak ? Tir subbit ? Tir sur soucoupes ? Terminal Serveur ? Thème Suspect ? Travailleur sous-payé ? Tatami Souillé ? Time Share ?
Tintin scandinave ?

Bon, j’arrête les supposition et je te laisse dire de quoi tu parlais ... ^^
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
jimx78

avatar

Nombre de messages : 240
Age : 25
Localisation : Yvelines
Date d'inscription : 24/05/2010

MessageSujet: Re: Un déplacement FPS en 3D   Mer 22 Avr 2015 - 19:22

J'avais arrêter le développement sur Panormaic pour de bonne raison :

La gestion de la souris pas compatible, des problèmes de son (play pause stop) Son 3D etc

EDITER A 18h30:[ A non, la souris n'est pas bien géré. On ne peux pas faire de jeux si la souris ne permet pas de déplacer la vue. Quand on vas a fond a gauche, ou a droite, ou en haut, ou en bas, la souris est bloquer par l'ecran.]

Chargement des textures trop longue avec les objets 3D etc.

Bref, je me suis pris un claque avec ce test ! J'été en train d'appendre a utiliser unity 3D et suis suis passer voir le forum mais je vais certainement regarder le potentiel de panoramic maintenant...

Bien jouer Jack !


Dernière édition par jimx78 le Mer 22 Avr 2015 - 19:32, édité 1 fois
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
jimx78

avatar

Nombre de messages : 240
Age : 25
Localisation : Yvelines
Date d'inscription : 24/05/2010

MessageSujet: Re: Un déplacement FPS en 3D   Mer 22 Avr 2015 - 19:23

Mdr

TS = Team Speak

Si je travail avec quelqu’un sur un projet désormais, se sera par TS ou skype, c'est plus productif.
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
The Gamer

avatar

Nombre de messages : 110
Age : 23
Localisation : Toulouse (31)
Date d'inscription : 11/05/2010

MessageSujet: Re: Un déplacement FPS en 3D   Mer 22 Avr 2015 - 19:43

Salut a toi jimx78 et merci de partager ton enthousiasme Smile Je me rappelle plus trop de l'époque Proxs 2D j'étais assez jeune Razz. Tu sais ce qu'il advient de ce langage d'ailleurs ? Mythic avait parlé d'un nouveau langage: Cygma...

Pour l'instant je suis dsl mais je n'ai pas encore de projet pour développer un jeu. Ca devrait venir... Je préfère pour l'instant avancer seul parce que j'ai un rythme un peu irrégulier. Genre la je me suis plongé deux soirs a fond pour faire ce petit programme, mais ce sera plus possible quand je vais reprendre les cours :p (Non non ne chambrez pas les étudiants ils bossent aussi Razz).
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://pierrehardy.pagesperso-orange.fr/
jimx78

avatar

Nombre de messages : 240
Age : 25
Localisation : Yvelines
Date d'inscription : 24/05/2010

MessageSujet: Re: Un déplacement FPS en 3D   Mer 22 Avr 2015 - 19:54

Cygma ne sortira jamais c'est sur. C'est un projet qui a couler.


La gestion des déplacement est mauvaise mais le principe est la: http://panoramic.free-boards.net/t1185-gestion-de-la-camera-dans-une-scene-3d-1er-et-3e-personne

Même pas de calcules, et moins de variable, jute une technique avec 2 cubes ;D

Sinon tu peu lire ça, mais attention, c'est plein de faute d’orthographe : http://jimx78.e-monsite.com/pages/panoramic/tutoriel-de-3d.html

Cherche la partie ou je parle des deplacements

Merci, moi je pense essayer unity 3D, on peux faire des jeux en réseau
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
The Gamer

avatar

Nombre de messages : 110
Age : 23
Localisation : Toulouse (31)
Date d'inscription : 11/05/2010

MessageSujet: Re: Un déplacement FPS en 3D   Mer 22 Avr 2015 - 20:08

Pour le problème du pointeur, j'avoue que la possibilité de définir la position du pointeur dans Panoramic serait bienvenue. En attendant peut être existe t-il un code compilé dans un autre language (.exe) permettant de réinitialiser la position du pointeur a intervalles réguliers...
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://pierrehardy.pagesperso-orange.fr/
Jean Claude

avatar

Nombre de messages : 4988
Age : 63
Localisation : 83 Var
Date d'inscription : 07/05/2009

MessageSujet: Re: Un déplacement FPS en 3D   Mer 22 Avr 2015 - 21:29

Enfin du nouveau sur Panoramic,

A SUIVRE

Very Happy
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
Jicehel

avatar

Nombre de messages : 5849
Age : 45
Localisation : 77500
Date d'inscription : 19/04/2011

MessageSujet: Re: Un déplacement FPS en 3D   Mer 22 Avr 2015 - 21:59

Le truc par rapport à la souris c'est que tu as la position par rapport à la fenêtre donc quand tu en sort, les coordonnées ne sont plus correctes puisqu' en dehors.
En Panoramic pur je crois que l'on n'a pas le choix. Pour faire ce que tu souhaites, il faut utiliser une DLL comme mouse.dll ou kgf.dll (C'est peut être possible et j'ai peut être oublié comment faire aussi Wink )
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
mindstorm

avatar

Nombre de messages : 530
Age : 48
Localisation : charente
Date d'inscription : 13/02/2013

MessageSujet: Re: Un déplacement FPS en 3D   Mer 22 Avr 2015 - 22:56

vraiment extra
tu peux prendre mon labyrinthe (1 seul objet ) si tu as besoin
j'ai aussi une paire de lunette 3D ici
bon courage
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
Contenu sponsorisé




MessageSujet: Re: Un déplacement FPS en 3D   

Revenir en haut Aller en bas
 
Un déplacement FPS en 3D
Voir le sujet précédent Voir le sujet suivant Revenir en haut 
Page 1 sur 1
 Sujets similaires
-
» [particule] déplacement aléatoire (lucioles)
» Déplacement moyen
» Déplacement de plusieurs personnages silmultanéments
» Placement chat box
» Problème de placement en passant de Phpbb2 à phpbb3

Permission de ce forum:Vous ne pouvez pas répondre aux sujets dans ce forum
FORUM DE DISCUSSION SUR LE LANGAGE PANORAMIC :: PANORAMIC 32 bits :: Les inutilitaires-
Sauter vers: