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
» Logiciel de planétarium.
editeur de monde 3d Emptypar Pedro Aujourd'hui à 10:37

» Un autre pense-bête...
editeur de monde 3d Emptypar Froggy One Jeu 21 Nov 2024 - 15:54

» Récupération du contenu d'une page html.
editeur de monde 3d Emptypar Pedro Sam 16 Nov 2024 - 14:04

» Décompilation
editeur de monde 3d Emptypar JL35 Mar 12 Nov 2024 - 19:57

» Un album photos comme du temps des grands-mères
editeur de monde 3d Emptypar jjn4 Mar 12 Nov 2024 - 17:23

» traitement d'une feuille excel
editeur de monde 3d Emptypar jjn4 Jeu 7 Nov 2024 - 3:52

» Aide-mémoire mensuel
editeur de monde 3d Emptypar jjn4 Lun 4 Nov 2024 - 18:56

» Des incomprèhension avec Timer
editeur de monde 3d Emptypar Klaus Mer 30 Oct 2024 - 18:26

» KGF_dll - nouvelles versions
editeur de monde 3d Emptypar Klaus Mar 29 Oct 2024 - 17:58

» instructions panoramic
editeur de monde 3d Emptypar maelilou Lun 28 Oct 2024 - 19:51

» Figures fractales
editeur de monde 3d Emptypar Marc Ven 25 Oct 2024 - 12:18

» Panoramic et Scanette
editeur de monde 3d Emptypar Yannick Mer 25 Sep 2024 - 22:16

» Editeur d étiquette avec QR évolutif
editeur de monde 3d Emptypar JL35 Lun 23 Sep 2024 - 22:40

» BUG QR Code DelphiZXingQRCode
editeur de monde 3d Emptypar Yannick Dim 22 Sep 2024 - 11:40

» fichier.exe
editeur de monde 3d Emptypar leclode Ven 20 Sep 2024 - 19:02

Navigation
 Portail
 Index
 Membres
 Profil
 FAQ
 Rechercher
Rechercher
 
 

Résultats par :
 
Rechercher Recherche avancée
Novembre 2024
LunMarMerJeuVenSamDim
    123
45678910
11121314151617
18192021222324
252627282930 
CalendrierCalendrier
Le deal à ne pas rater :
LEGO Icons 10331 – Le martin-pêcheur
35 €
Voir le deal

 

 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 : 7112
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 : 76
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 : 2747
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 : 2395
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
» La Carte du Monde

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: