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
» ajouter des blancs dans un TXT
par lepetitmarocain Hier à 13:00

» Planétarium virtuel.
par Oscaribout Mar 14 Aoû 2018 - 19:45

» 11 (en analyse): commandes sur TAB et SUB_MENU.
par Jack Mar 14 Aoû 2018 - 14:10

» 10 (en analyse): Erreur sur variable locale.
par Jack Mar 14 Aoû 2018 - 14:05

» Métamatière, éternité et renouvellement
par Oscaribout Mar 14 Aoû 2018 - 12:40

» De retour...
par Yannick Lun 13 Aoû 2018 - 15:11

» bug SEVERE fnc+sub : (35)name already defined
par Oscaribout Dim 12 Aoû 2018 - 23:55

» Encadrement
par Jean Claude Dim 12 Aoû 2018 - 11:53

» Des rectangles...
par JL35 Dim 12 Aoû 2018 - 10:53

» TRIGGER_KEY_COMBINED_TOUCH
par Jean Claude Mar 7 Aoû 2018 - 20:58

» ITEM_SELECT N,L pour synedit
par Jean Claude Mar 7 Aoû 2018 - 19:11

» amélioration panoramic
par silverman Dim 5 Aoû 2018 - 18:34

» Commande file_readln.
par Pedro Alvarez Dim 5 Aoû 2018 - 17:08

» Klaus ?
par Jack Sam 4 Aoû 2018 - 22:48

» Défragmentation du disque dur
par JL35 Sam 4 Aoû 2018 - 21:06

Navigation
 Portail
 Index
 Membres
 Profil
 FAQ
 Rechercher
Rechercher
 
 

Résultats par :
 
Rechercher Recherche avancée
Août 2018
LunMarMerJeuVenSamDim
  12345
6789101112
13141516171819
20212223242526
2728293031  
CalendrierCalendrier

Partagez | 
 

 Objet 3D_PLANE, réalisation d'un dé en 3D

Aller en bas 
AuteurMessage
Marc

avatar

Nombre de messages : 809
Age : 57
Localisation : TOURS
Date d'inscription : 17/03/2014

MessageSujet: Objet 3D_PLANE, réalisation d'un dé en 3D   Sam 19 Mai 2018 - 23:26

Bonjour à tous !

Voici un dé en 3D créé avec un assemblage de 6 objets 3D_PLANE.

La souris permet de déplacer la caméra devant l'objet.



Code:
' ------------------------------------------------------------------------------
'  PANORAMIC 3D Dice / Dé 3D
'  Marc - May 2018 - Panoramic v0.9.28.i18
'  http://panoramic-language.pagesperso-orange.fr/French/index.html
'  http://panoramic.top-forum.net
' ------------------------------------------------------------------------------
' main
    Init()
    Skin()
    Dice()
    Instructions()
    CAM_MOVE -15
    ON_MOUSE_MOVE 100,Move
END
' ------------------------------------------------------------------------------
SUB Init()
    LABEL Move,Quit
    DIM x,y
    HEIGHT 0,540 + HEIGHT(0)-HEIGHT_CLIENT(0)
    WIDTH 0,500 + WIDTH(0)-WIDTH_CLIENT(0)
    LEFT 0,(screen_x-WIDTH(0))/2
    TOP 0,(screen_y-HEIGHT(0))/2
    COLOR 0,50,150,50
    PICTURE 1
    WIDTH 1,200
    HEIGHT 1,200
    ON_CLOSE 0, Quit
END_SUB
' ------------------------------------------------------------------------------
SUB dice()
    DIM_LOCAL i%
    SCENE3D 100
    HEIGHT 100,500
    WIDTH 100,500
    COLOR 100,50,150,50
    FOR i% = 1 TO 6
        3D_PLANE i%
        3D_V_TILE i%,1
        3D_U_TILE i%,1
    NEXT i%
    3D_Z_POSITION 1,5
    3D_IMAGE_TEXTURE 1,10
    3D_IMAGE_TEXTURE 2,11
    3D_Z_POSITION 2,-5
    3D_Y_ROTATE 2,180
    3D_IMAGE_TEXTURE 3,12
    3D_X_POSITION 3,5
    3D_Y_ROTATE 3,90
    3D_IMAGE_TEXTURE 4,13
    3D_X_POSITION 4,-5
    3D_Y_ROTATE 4,-90
    3D_IMAGE_TEXTURE 5,14
    3D_X_ROTATE 5,90
    3D_Y_POSITION 5,5
    3D_U_TILE 6,1
    3D_IMAGE_TEXTURE 6,15
    3D_X_ROTATE 6,-90
    3D_Y_POSITION 6,-5
END_SUB
' ------------------------------------------------------------------------------
SUB Skin()
    2D_TARGET_IS 1
    face1()
    face2()
    face3()
    face4()
    face5()
    face6()
END_SUB
' ------------------------------------------------------------------------------
SUB Face1()
    COLOR 1,250,0,0
    2D_FILL_COLOR 250,250,250
    2D_CIRCLE 40,40,15
    2D_CIRCLE 40,160,15
    2D_CIRCLE 160,160,15
    2D_CIRCLE 160,40,15
    2D_CIRCLE 100,100,15
    2D_FILL_COLOR 250,0,0
    PRINT_TARGET_IS 1
    FONT_NAME 1,"Times New Roman"
    FONT_SIZE 1,7
    PRINT_LOCATE 130,185
    PRINT "Marc - May 2018"
    2D_FILL_COLOR 250,250,250
    IMAGE 10
    2D_IMAGE_COPY 10,0,0,200,200
END_SUB
' ------------------------------------------------------------------------------
SUB Face2()
    COLOR 1,0,250,0
    2D_CIRCLE 40,40,15
    2D_CIRCLE 160,160,15
    IMAGE 11
    2D_IMAGE_COPY 11,0,0,200,200
END_SUB
' ------------------------------------------------------------------------------
SUB Face3()
    COLOR 1,0,0,250
    2D_CIRCLE 40,40,15
    2D_CIRCLE 100,100,15
    2D_CIRCLE 160,160,15
    IMAGE 12
    2D_IMAGE_COPY 12,0,0,200,200
END_SUB
' ------------------------------------------------------------------------------
SUB Face4()
    COLOR 1,250,250,0
    2D_CIRCLE 40,40,15
    2D_CIRCLE 40,160,15
    2D_CIRCLE 160,160,15
    2D_CIRCLE 160,40,15
    IMAGE 13
    2D_IMAGE_COPY 13,0,0,200,200
END_SUB
' ------------------------------------------------------------------------------
SUB Face5()
    COLOR 1,0,250,250
    2D_CIRCLE 100,100,15
    IMAGE 14
    2D_IMAGE_COPY 14,0,0,200,200
END_SUB
' ------------------------------------------------------------------------------
SUB Face6()
    COLOR 1,250,0,250
    2D_CIRCLE 40,40,15
    2D_CIRCLE 40,100,15
    2D_CIRCLE 40,160,15
    2D_CIRCLE 160,160,15
    2D_CIRCLE 160,40,15
    2D_CIRCLE 160,100,15
    IMAGE 15
    2D_IMAGE_COPY 15,0,0,200,200
END_SUB
' ------------------------------------------------------------------------------
SUB Instructions()
    PICTURE 50
    HEIGHT 50,40
    WIDTH 50,500
    TOP 50,500
    COLOR 50,50,150,50
    2D_TARGET_IS 50
    2D_FILL_COLOR 50,150,50
    PRINT_TARGET_IS 50
    FONT_NAME 50,"Times New Roman"
    FONT_SIZE 50,18
    FONT_ITALIC 50
    PRINT_LOCATE 60,10
    PRINT "Move the mouse   /   Bougez la souris"
END_SUB
' ------------------------------------------------------------------------------
Move:
    CAM_X_POSITION 50-(MOUSE_X_POSITION(100)/5)
    CAM_Y_POSITION (MOUSE_Y_POSITION(100)/5)-50
RETURN
' ------------------------------------------------------------------------------
Quit:
    TERMINATE
RETURN

EDIT : Sur une excellente remarque de FredIsland, mise à jour du source (explications dans les posts ci-dessous).


Dernière édition par Marc le Mar 22 Mai 2018 - 0:25, édité 1 fois
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
JL35



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

MessageSujet: Re: Objet 3D_PLANE, réalisation d'un dé en 3D   Dim 20 Mai 2018 - 9:50

Joli !
mais un dé en 3 dés, faut que j'en parle à Dédé...
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
papydall

avatar

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

MessageSujet: Re: Objet 3D_PLANE, réalisation d'un dé en 3D   Dim 20 Mai 2018 - 13:54

Citation :
...faut que j'en parle à Dédé...

... et dis-lui qu'on ne peut pas montrer la face deux du dé ! tongue
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://papydall-panoramic.forumarabia.com/
Minibug

avatar

Nombre de messages : 2996
Age : 51
Localisation : Vienne (86)
Date d'inscription : 09/02/2012

MessageSujet: Re: Objet 3D_PLANE, réalisation d'un dé en 3D   Lun 21 Mai 2018 - 10:45

Belle réalisation Marc !

Par contre, comme le dit Papydall, comment on fait pour voir la face avec le chiffre 2 Question geek

PS : Super le château de Chenonceau ! Laughing
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://gpp.panoramic.free.fr
xxx



Nombre de messages : 261
Date d'inscription : 30/03/2018

MessageSujet: Re: Objet 3D_PLANE, réalisation d'un dé en 3D   Lun 21 Mai 2018 - 12:15

Très sympa.
J'ai apporté une petite amélioration pour éviter que le CPU ne s'emballe avec la boucle WHILE
Remplacer simplement la partie avant les SUB par celle-ci :


Code:
' main
label move
    Init()
    Skin()
    Dice()
    Instructions()
    CAM_MOVE -10
    on_mouse_move 100,move
END

move:
x=MOUSE_X_POSITION(100)
        CAM_X_POSITION 50-(MOUSE_X_POSITION(100)/5)
        CAM_Y_POSITION 50-(MOUSE_Y_POSITION(100)/5)
return
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
Marc

avatar

Nombre de messages : 809
Age : 57
Localisation : TOURS
Date d'inscription : 17/03/2014

MessageSujet: Re: Objet 3D_PLANE, réalisation d'un dé en 3D   Mar 22 Mai 2018 - 0:33

Bonsoir à tous !

Merci à tous de vos retours.

Fredisland a écrit:
J'ai apporté une petite amélioration pour éviter que le CPU ne s'emballe avec la boucle WHILE
Excellent ! Très pertinent ! Merci ! Je prends !
Avec ma boucle WHILE : 28 % de taux d’occupation processeur Crying or Very sad
Avec ta solution ON_MOUSE_MOVE : 0% de taux d’occupation processeur Very Happy
J’ai mis à jour le source du premier post.

Papydall a écrit:
et dis-lui qu'on ne peut pas montrer la face deux du dé !
Minibug a écrit:
Par contre, comme le dit Papydall, comment on fait pour voir la face avec le chiffre 2

La face 2 existe bien mais la caméra dans un SCENE3D opère un déplacement rectiligne devant l’objet. Elle ne tourne pas autour de l’objet.
Pour voir la face cachée, il faudrait faire tourner le dé lui-même sur son axe x ou y.
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
Contenu sponsorisé




MessageSujet: Re: Objet 3D_PLANE, réalisation d'un dé en 3D   

Revenir en haut Aller en bas
 
Objet 3D_PLANE, réalisation d'un dé en 3D
Revenir en haut 
Page 1 sur 1
 Sujets similaires
-
» Passer un objet devant les autres (ou derrière)
» Opération sur objet EDIT
» Savoir sur quel objet un évènement a eu lieu
» Ajout d'un nouveau type d'objet dans une form Panoramic !
» Pseudo-objet - Générateur de code

Permission de ce forum:Vous ne pouvez pas répondre aux sujets dans ce forum
FORUM DE DISCUSSION SUR LE LANGAGE PANORAMIC :: PANORAMIC :: Vos sources, vos utilitaires à partager-
Sauter vers: