FORUM DE DISCUSSION SUR LE LANGAGE PANORAMIC
Vous souhaitez réagir à ce message ? Créez un compte en quelques clics ou connectez-vous pour continuer.
FORUM DE DISCUSSION SUR LE LANGAGE PANORAMIC

Développement d'applications avec le langage Panoramic
 
AccueilAccueil  RechercherRechercher  Dernières imagesDernières images  S'enregistrerS'enregistrer  MembresMembres  Connexion  
Derniers sujets
» Demande d'aide sur un programme compilé.
editeur de monde 3d Emptypar Pedro Aujourd'hui à 15:11

» Figures fractales
editeur de monde 3d Emptypar jean_debord Aujourd'hui à 10:43

» Réponse souris
editeur de monde 3d Emptypar Marc Hier à 12:41

» Souris (résolu)
editeur de monde 3d Emptypar papydall Hier à 5:08

» La Carte du Monde
editeur de monde 3d Emptypar Marc Dim 30 Juin 2024 - 12:12

» Conversion PSI <=>BAR
editeur de monde 3d Emptypar Marc Dim 30 Juin 2024 - 12:08

» Yin And Yang
editeur de monde 3d Emptypar Marc Dim 30 Juin 2024 - 11:54

» Editeur EliP 6 : Le Tiny éditeur avec 25 onglets de travail
editeur de monde 3d Emptypar papydall Ven 28 Juin 2024 - 23:14

» Naissance de Crocodile Basic
editeur de monde 3d Emptypar papydall Ven 28 Juin 2024 - 23:11

» Dim et Label
editeur de monde 3d Emptypar lepetitmarocain Ven 28 Juin 2024 - 10:29

» @lepetitmarocain <==> KGFGrid
editeur de monde 3d Emptypar lepetitmarocain Ven 28 Juin 2024 - 10:19

» Logithèque : une base de données en Panoramic pour Panoramic
editeur de monde 3d Emptypar jjn4 Mer 26 Juin 2024 - 18:59

» Salut tout le monde !!
editeur de monde 3d Emptypar Yannick Mar 25 Juin 2024 - 22:42

» vg5000
editeur de monde 3d Emptypar Jack Lun 24 Juin 2024 - 18:36

» Récapitulatif des utilitaires jjn4
editeur de monde 3d Emptypar jjn4 Lun 24 Juin 2024 - 18:26

Navigation
 Portail
 Index
 Membres
 Profil
 FAQ
 Rechercher
Rechercher
 
 

Résultats par :
 
Rechercher Recherche avancée
Juillet 2024
LunMarMerJeuVenSamDim
1234567
891011121314
15161718192021
22232425262728
293031    
CalendrierCalendrier
Le Deal du moment : -17%
PHILIPS Centrale vapeur HI5900/22 5,2 bar
Voir le deal
59.99 €

 

 editeur de monde 3d

Aller en bas 
+4
Nardo26
659_minifly
JL35
carl
8 participants
AuteurMessage
carl




Nombre de messages : 6
Date d'inscription : 14/08/2010

editeur de monde 3d Empty
MessageSujet: editeur de monde 3d   editeur de monde 3d EmptyDim 15 Aoû 2010 - 0:32

Bonjour a tous, et merci a tous ceux qui m'ont souhaité la bienvenue.
voila, j'ai découvert panoramic il y a peut de temps et ce langage m'a tout de suite intéressé de par sa simplicité. mais le coté qui m'interresse le plus est la 3d, je vous dévoille donc ce petit programme que je viens de finir en une journée ,merci la doc et les forums ! , j'espère le faire évoluer car il est encore très simpliste , bref j'attends vos remarques et conseils merci.
Code:

error_french
dim dxx,dxy
dxx = screen_x : dxy = screen_y : width 0,dxx : height 0,dxy : caption 0,""
scene3d 1 : height 1,dxy : width 1,dxx : left 1,0 : top 1,0 :full_space 1
dim camerax,cameray,cameraz,angle,rayon,souris,pointx,pointy,pointz,speedcam
angle=3.2 : rayon=1000 : camerax = -200 : cameray = 8 : cameraz = -200 :speedcam = .5
dim objetfile$(100),pxobjet(100),pyobjet(100),pzobjet(100),sxobjet(100),syobjet(100),szobjet(100)
dim rotxobjet(100),rotyobjet(100),rotzobjet(100)
dim objetmax,objet,x,objetencours,scale,a$,b$,dir$,info$,aide ,b ,r,s,file$,msg
objet = 39 : scale = .1 : dir$ = dir_current$ : aide = 1
rem on demarre les objets a 40 pour laisser la place aux objets de base
label init,save,main,quit,open,undo,skybox,pointe_camera,pointe_cameray,scrollchange,event,opentexture,resetscroll,opensavefile,savefile
scroll_bar 3  : left 3,00 : top 3,100 : min 3,-200 : max 3,200 : position 3,0 : hide 3 : rem posxobjet
scroll_bar 4  : left 4,00 : top 4,120 : min 4,-200 : max 4,200 : position 4,0 : hide 4 : rem posyobjet
scroll_bar 5  : left 5,00 : top 5,140 : min 5,-200 : max 5,200 : position 5,0 : hide 5 : rem poszobjet
scroll_bar 6  : left 6,00 : top 6,160 : min 6,0 : max 6,200 : position 6,0 : hide 6 : rem scalexobjet
scroll_bar 7  : left 7,00 : top 7,180 : min 7,0 : max 7,200 : position 7,0 : hide 7 : rem scaleyobjet
scroll_bar 8  : left 8,00 : top 8,200 : min 8,0 : max 8,200 : position 8,0 : hide 8 : rem scalezobjet
scroll_bar 9  : left 9,00 : top 9,220 : min 9,-200 : max 9,200 : position 9,0 : hide 9 : rem rotationxobjet
scroll_bar 10  : left 10,00 : top 10,240 : min 10,-200 : max 10,200 : position 10,0 : hide 10 : rem rotationyobjet
scroll_bar 11  : left 11,00 : top 11,260 : min 11,-200 : max 11,200 : position 11,0 : hide 11 : rem rotationzobjet
gosub skybox
3D_PLANE 15
3d_x_position 15,camerax
3d_y_position 15,cameray -8
3d_z_position 15,cameraz
3d_x_scale 15,200
3d_y_scale 15,200
3d_z_scale 15,200
3d_x_rotate 15,90
3d_load_texture 15,"media/terrain_0.bmp"
3D_U_TILE 15,30
3D_V_TILE 15,30
edit 2 : left 2,00 : top 2,5 : width 2,160 : height 2,20 : hide 2
button 17 : left 17,00 : top 17,30 : caption 17," << precedent " : hide 17
button 18 : left 18,80 : top 18,30 : caption 18," suivant >> " : hide 18
button 19 : left 19,00 : top 19,60 : caption 19,"texture " : hide 19
button 20 : left 20,80 : top 20,60 : caption 20,"aller a l'objet " : hide 20
button 21 : left 21,00 : top 21,300 : caption 21,"ouvrir " : hide 21
button 22 : left 22,80 : top 22,300 : caption 22,"sauver " : hide 22
button 23 : left 23,50 : top 23,360 : caption 23,"quitter " : hide 23
while scancode <> 45
gosub main
end_while
gosub quit
return
rem ---------------------------------------------------------------------------
init:
if file_exists(file$) = 1
file_open_read 13,file$
file_readln 13,a$
file_readln 13,a$ : camerax = val(a$)
file_readln 13,a$ : cameray = val(a$)
file_readln 13,a$ : cameraz = val(a$)
file_readln 13,a$
if a$=""
objet = 39
else
objet = val(a$)
end_if
if objet >= 40
objetmax = objet
for x = 40 to objetmax
3d_mesh  x
file_readln 13,a$
objetfile$(x) = a$
3d_load_object x,objetfile$(x)
file_readln 13,a$
pxobjet(x)=a$
3d_x_position x,pxobjet(x)
file_readln 13,a$
pyobjet(x)=a$
3d_y_position x,pyobjet(x)
file_readln 13,a$
pzobjet(x)=a$
3d_z_position x,pzobjet(x)
file_readln 13,a$
sxobjet(x)=a$
3d_x_scale x,sxobjet(x)
file_readln 13,a$
syobjet(x)=a$
3d_y_scale x,syobjet(x)
file_readln 13,a$
szobjet(x)=a$
3d_z_scale x,szobjet(x)
file_readln 13,a$
rotxobjet(x)=a$
3d_x_rotate x,rotxobjet(x)
file_readln 13,a$
rotyobjet(x)=a$
3d_y_rotate x,rotyobjet(x)
file_readln 13,a$
rotzobjet(x)=a$
3d_z_rotate x,rotzobjet(x)
text 2," objet n° " +  str$(x)
next x
end_if
file_close 13
end_if
return
rem ---------------------------------------------------------------------------
opensavefile:
open_dialog 12
filter 12,"fichiers world|*.world"
b$=file_name$(12)
If Right$(b$,5) = "world"
file$ = b$
gosub init
end_if
b$ = ""
delete 12
return
rem ---------------------------------------------------------------------------
savefile:
save_dialog 12
filter 12,"fichiers world|*.world"
b$=file_name$(12)
file$ = b$
file$ = file$+".world"
gosub save
b$ = ""
delete 12
return
rem ---------------------------------------------------------------------------
save:
rem dir_change dir$
file_open_write 14,file$
file_writeln 14,date$ + " " + time$
file_writeln 14,camerax
file_writeln 14,cameray
file_writeln 14,cameraz
if objet > 39
file_writeln 14,objetmax
for x = 40 to objetmax
if  objetfile$(x)="" : return : end_if
file_writeln 14,objetfile$(x)
file_writeln 14,o3d_x_position(x) : rem pxobjet(x)
file_writeln 14,o3d_y_position(x) : rem pyobjet(x)
file_writeln 14,o3d_z_position(x) : rem pzobjet(x)
file_writeln 14,o3d_x_scale(x) : rem sxobjet(x)
file_writeln 14,o3d_y_scale(x) : rem syobjet(x)
file_writeln 14,o3d_z_scale(x) : rem szobjet(x)
file_writeln 14,o3d_x_rotate(x) : rem rotxobjet(x)
file_writeln 14,o3d_y_rotate(x) : rem rotyobjet(x)
file_writeln 14,o3d_z_rotate(x) : rem rotzobjet(x)
next x
end_if
file_close 14
return
rem ---------------------------------------------------------------------------
quit:
msg = message_confirmation_yes_no("Etes vous sur de vouloir quitter ? ")
if msg = 1 then terminate
if msg = 0 then return
if msg = 2 then return
return
rem ---------------------------------------------------------------------------
open:
open_dialog 12
filter 12,"fichiers 3ds|*.3ds|md2|*.md2"
b$=file_name$(12)
If Right$(b$,3) = "3ds" or Right$(b$,3) ="md2"
objet = objet + 1
objetfile$(objet) = b$
pxobjet(objet)=camerax
pyobjet(objet)=cameray
pzobjet(objet)=cameraz
sxobjet(objet)=scale
syobjet(objet)=scale
szobjet(objet)=scale
3d_mesh  objet
3d_load_object objet,objetfile$(objet)
3d_x_scale objet,sxobjet(objet)
3d_y_scale objet,syobjet(objet)
3d_z_scale objet,szobjet(objet)
3d_x_position objet,pxobjet(objet)
3d_y_position objet,pyobjet(objet)
3d_z_position objet,pzobjet(objet)
3d_x_rotate objet,rotxobjet(objet)
3d_y_rotate objet,rotyobjet(objet)
3d_z_rotate objet,rotzobjet(objet)
end_if
text 2," objet n° " +  str$(objet)
objetmax = objet
b$ = ""
delete 12
return
rem ---------------------------------------------------------------------------
opentexture:
open_dialog 12
filter 12,"fichiers jpg|*.jpg|bmp|*.bmp"
b$=file_name$(12)
If Right$(b$,3) = "jpg" or Right$(b$,3) ="bmp"
if objetmax>39 : 3d_load_texture objet,b$ : end_if
end_if
b$ = ""
delete 12
return
rem ---------------------------------------------------------------------------
undo:
if objet > 39 : 3d_delete objet : objet = objet - 1 :end_if
return
rem ---------------------------------------------------------------------------
main:
if scancode = 114 : camerax = 0 : cameray = 0 : cameraz = 0 : end_if : rem f3
if scancode = 33 : cameray = cameray + speedcam : end_if
if scancode = 34 : cameray = cameray - speedcam : end_if
if scancode = 90 : camerax = camerax + speedcam : end_if :rem z
if scancode = 83 : camerax = camerax - speedcam : end_if :rem s
if scancode = 81 : cameraz = cameraz + speedcam : end_if :rem q
if scancode = 68 : cameraz = cameraz - speedcam : end_if :rem d
if scancode = 37 : angle=angle+0.005 : gosub pointe_camera : end_if
if scancode = 39 : angle=angle-0.005 : gosub pointe_camera : end_if
if scancode = 38 : angle=angle+0.005 : gosub pointe_cameray : end_if
if scancode = 40 : angle=angle-0.005 : gosub pointe_cameray : end_if
cam_x_position camerax
cam_y_position cameray
cam_z_position cameraz
if cameray < o3d_y_position(15)+10 : cameray = cameray +1 : end_if
if mouse_left_down(1)=1 : souris = 1 : end_if
if mouse_left_up(1)=1 : souris = 0 : end_if
if mouse_right_down(1)=1 : aide = 0 : end_if
if mouse_right_up(1)=1 : aide = 1 : end_if
if scancode = 112 : gosub open : end_if
if scancode = 113 : aide = aide +1 : end_if
if aide = 0 : height 1,dxy : width 1,dxx : left 1,200 : top 1,0 : cursor_default 1 : for b= 2  to 11 : show b : next b : show 17 : show 18 : show 19 :show 20: show 21 : show 22: show 23 : end_if
if aide = 1 : left 1,00 : full_space 1 : cursor_hide 1 : for b= 2  to 11 : hide b : next b : hide 17 : hide 18 : hide 19 : hide 20 :hide 21 : hide 22: hide 23: end_if
if aide > 1 : aide =  0 : end_if
if objetmax>39 : gosub event : else : text 2,"aucun objet chargé press f1" :end_if
if CLICKED(21)=1
gosub opensavefile
end_if
if CLICKED(22)=1
gosub savefile
message "sauvegarde effectuée "
end_if
if CLICKED(23)=1
gosub quit
end_if
return
rem ---------------------------------------------------------------------------
skybox:
3D_SKYBOX 16
3D_LOAD_TEXTURE_TOP 16,"media/SKY_up.jpg"
3D_LOAD_TEXTURE_LEFT 16,"media/SKY_bk.jpg"
3D_LOAD_TEXTURE_BACK 16,"media/SKY_rt.jpg"
3D_LOAD_TEXTURE_FRONT 16,"media/SKY_lf.jpg"
3D_LOAD_TEXTURE_RIGHT 16,"media/SKY_fr.jpg"
3D_LOAD_TEXTURE_BOTTOM 16,"media/SKY_floor.jpg"
return
rem ---------------------------------------------------------------------------
pointe_camera:
pointx = camerax + rayon*sin(angle)
pointz = cameraz + rayon*cos(angle)
point_x_position pointx
point_z_position pointz
return
rem ---------------------------------------------------------------------------
pointe_cameray:
pointy = cameray + (rayon*sin(angle))/2
point_y_position pointy
return
rem ---------------------------------------------------------------------------
event:
if CLICKED(17)=1
objet  = objet - 1
if objet < 40 : objet = 40 : end_if
text 2," objet n° " +  str$(objet)
gosub resetscroll
end_if
if CLICKED(18)=1
objet  = objet + 1
if objet > objetmax : objet = objetmax : end_if
text 2," objet n° " +  str$(objet)
gosub resetscroll
end_if
if CLICKED(19)=1
gosub opentexture
end_if
if CLICKED(20)=1
camerax = o3d_x_position(objet)
cameray = o3d_y_position(objet)
cameraz = o3d_z_position(objet)
end_if
gosub scrollchange
return
rem ---------------------------------------------------------------------------
resetscroll:
position 3,o3d_x_position(objet)
position 4,o3d_y_position(objet)
position 5,o3d_z_position(objet)
position 6,o3d_x_scale(objet)
position 7,o3d_y_scale(objet)
position 8,o3d_z_scale(objet)
position 9,o3d_x_rotate(objet)
position 10,o3d_y_rotate(objet)
position 11,o3d_z_rotate(objet)
return
rem ---------------------------------------------------------------------------
scrollchange:
3d_x_position objet,pxobjet(objet)+ position(3)
3d_y_position objet,pyobjet(objet)+ position(4)
3d_z_position objet,pzobjet(objet)+ position(5)
3d_x_scale objet,sxobjet(objet) + position(6)
3d_y_scale objet,syobjet(objet) + position(7)
3d_z_scale objet,szobjet(objet) + position(8)
3d_x_rotate objet,rotxobjet(objet)  + position(9)
3d_y_rotate objet,rotyobjet(objet) + position(10)
3d_z_rotate objet,rotzobjet(objet) + position(11)
return
Revenir en haut Aller en bas
JL35




Nombre de messages : 7095
Localisation : 77
Date d'inscription : 29/11/2007

editeur de monde 3d Empty
MessageSujet: Re: editeur de monde 3d   editeur de monde 3d EmptyDim 15 Aoû 2010 - 0:56

tu devrais éditer pour rajouter la balise de fin [/code]...
Revenir en haut Aller en bas
659_minifly




Nombre de messages : 590
Age : 75
Localisation : Valenciennes Nord
Date d'inscription : 29/04/2010

editeur de monde 3d Empty
MessageSujet: Re: editeur de monde 3d   editeur de monde 3d EmptyDim 15 Aoû 2010 - 1:03

salut bienvenue
dans to prog il manque maleureusement les *.jpg
alors on peut pas tester dommage
Revenir en haut Aller en bas
Nardo26

Nardo26


Nombre de messages : 2294
Age : 56
Localisation : Valence
Date d'inscription : 02/07/2010

editeur de monde 3d Empty
MessageSujet: Re: editeur de monde 3d   editeur de monde 3d EmptyDim 15 Aoû 2010 - 2:10

Bienvenue Carl, cheers

Pour les images tu devrais utiliser un site comme :

http://monimag.eu/

cela nous permettrai de pouvoir tester ton programme...

on petit conseil, tu devrais définir le chemin d'accès à tes fichiers en début de programme dans une variable. Cela nous permettrai de pouvoir stocker tes fichiers dans le répertoire que l'on souhaite...

par exemple en ligne 2:
Code:
dim dxx,dxy,chemin$
chemin$="C:\Media\"
puis par la suite en ligne 31 par exemple :
Code:
3d_load_texture 15,chemin$+"terrain_0.bmp"

A+
Revenir en haut Aller en bas
http://nardo26.lescigales.org
jjn4

jjn4


Nombre de messages : 2738
Date d'inscription : 13/09/2009

editeur de monde 3d Empty
MessageSujet: +++   editeur de monde 3d EmptyDim 15 Aoû 2010 - 12:45

Ouah, je ne sais pas ce que donne ton programme,
mais tu as l'air d'être un crac en 3D !

Désolé de t'avoir souhaité la bienvenue
avec un programme aussi simpliste,
(dans la rubrique Présentation et bavardage)
mais je débute en 3D.
(j'ai plus l'habitude des utilitaires...
ou inutilitaires...)
Laughing
Revenir en haut Aller en bas
http://jjn4.e-monsite.com
Jean Claude

Jean Claude


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

editeur de monde 3d Empty
MessageSujet: Re: editeur de monde 3d   editeur de monde 3d EmptyLun 16 Aoû 2010 - 10:24

Bienvenu à Carl,

Une remarque:
3d_z_scale objet,szobjet(objet) + position(Cool

Code:
3d_z_scale objet,szobjet(objet) + position(8)
Un avantage d'utiliser les balises "[code]" et "[\code]"

Et si tu pouvais nous mettre tout dans un Zip à télécharger, pour que l'on puisse éssayer, çà s'rait super.

Very Happy
.
Revenir en haut Aller en bas
bhv2010




Nombre de messages : 10
Date d'inscription : 16/05/2010

editeur de monde 3d Empty
MessageSujet: Re: editeur de monde 3d   editeur de monde 3d EmptyMer 18 Aoû 2010 - 14:46

Salut,

J'ai une instruction inconnue ligne 243 quand j'execute ton code ???

ça marche chez toi ????
Revenir en haut Aller en bas
carl




Nombre de messages : 6
Date d'inscription : 14/08/2010

editeur de monde 3d Empty
MessageSujet: reponse a bvh2010   editeur de monde 3d EmptyMer 18 Aoû 2010 - 18:31

je pense que c'est surement parce que j'ai utilisé la derniere version test la 0.9.20i2 du 30 juillet 2012 de panoramic ; il y a un lien sur le forum anglais , c'est la que je l'ai telechargé
sinon pour les images il te faudras en trouver une pour representer le sol et les autres pour composer le skybox espérant avoir repondu a ta question et merci d'y avoir porté interêt
Revenir en haut Aller en bas
Jack
Admin
Jack


Nombre de messages : 2387
Date d'inscription : 28/05/2007

editeur de monde 3d Empty
MessageSujet: Re: editeur de monde 3d   editeur de monde 3d EmptyMer 18 Aoû 2010 - 18:50

Citation :
J'ai une instruction inconnue ligne 243 quand j'execute ton code ???

De la ligne 243 à la ligne 249, on trouve effectivement des commandes spécifiques à la version instantanée 0.9.20i2 du 30 juillet 2010 qui permettent de gérer un SKYBOX:
3D_SKYBOX
3D_LOAD_TEXTURE_TOP
3D_LOAD_TEXTURE_LEFT
3D_LOAD_TEXTURE_BACK
3D_LOAD_TEXTURE_FRONT
3D_LOAD_TEXTURE_RIGHT
3D_LOAD_TEXTURE_BOTTOM
Revenir en haut Aller en bas
https://panoramic.1fr1.net
Contenu sponsorisé





editeur de monde 3d Empty
MessageSujet: Re: editeur de monde 3d   editeur de monde 3d Empty

Revenir en haut Aller en bas
 
editeur de monde 3d
Revenir en haut 
Page 1 sur 1
 Sujets similaires
-
» editeur de monde 3d
» editeur de monde 3d
» Editeur EliP 6 : Le Tiny éditeur avec 25 onglets de travail
» Editeur EliP 5 : Tiny éditeur Panoramic
» Explorer le monde 3D

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