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
» [Résolu] Un prg Panoramic s'abime avec le temps (erreur)
par Oscaribout Aujourd'hui à 13:48

» Planétarium virtuel.
par Pedro Alvarez Aujourd'hui à 9:56

» Dessin 2D: largeur de trait (résolu !)
par Jicehel Hier à 15:16

» Promenade dans le Ciel
par papydall Hier à 3:13

» PanExpress : l'éditeur Panoramic avec création d'objet
par Minibug Sam 23 Juin 2018 - 17:00

» Nouvelle version 0.34
par jean_debord Sam 23 Juin 2018 - 9:39

» Quantité de mémoire utilisée par un exe
par mindstorm Jeu 21 Juin 2018 - 21:22

» Projet de planétarium virtuel.
par Jean Claude Jeu 21 Juin 2018 - 19:02

» Animation: Feux de signalisation
par Minibug Mer 20 Juin 2018 - 20:28

» Problème avec 'file_load'.
par Pedro Alvarez Lun 18 Juin 2018 - 8:12

» Version instantanée V 0.9.28i20 du 13/06/2018
par jjn4 Sam 16 Juin 2018 - 14:25

» string$(0,chr$(32)) sans erreur
par silverman Ven 15 Juin 2018 - 19:56

» Version instantanée V 0.9.28i19 du 13/06/2018
par Minibug Ven 15 Juin 2018 - 19:14

» Mes souhaits d'amélioration de Panoramic.
par Pedro Alvarez Jeu 14 Juin 2018 - 20:17

» [RÉSOLU] Message d'erreur impossible à indentifier
par Minibug Mer 13 Juin 2018 - 20:52

Navigation
 Portail
 Index
 Membres
 Profil
 FAQ
 Rechercher
Rechercher
 
 

Résultats par :
 
Rechercher Recherche avancée
Juin 2018
LunMarMerJeuVenSamDim
    123
45678910
11121314151617
18192021222324
252627282930 
CalendrierCalendrier

Partagez | 
 

 Amelioration du source

Aller en bas 
AuteurMessage
pascal10000

avatar

Nombre de messages : 703
Localisation : Troyes
Date d'inscription : 05/02/2011

MessageSujet: Amelioration du source   Mer 27 Déc 2017 - 18:01

bsr

avec le source de minibug si dessous

Code:
' Test de déplacement d'objets par MiNiBuG

LABEL deplace , quitter

DIM pfx% , pfy% , ppx% , ppy%

PANEL 1 : LEFT 1,20 : TOP 1,20 : WIDTH 1,320 : HEIGHT 1,220 : COLOR 1,0,0,230 : ON_MOUSE_DOWN 1,deplace
SYNEDIT 2 :  PARENT 2,1 : LEFT 2,4 : TOP 2,20 : WIDTH 2,WIDTH_CLIENT(1)-8 : HEIGHT 2,HEIGHT_CLIENT(1)-24
ALPHA 3 : PARENT 3,1 : TOP 3,2 : LEFT 3,WIDTH_CLIENT(1)-18 : FONT_BOLD 3 : FONT_SIZE 3,10 : CAPTION 3,"X" : ON_CLICK 3,quitter

END

deplace:
  OFF_MOUSE_DOWN 1
  ppx%=MOUSE_X_POSITION(1) : ppy%=MOUSE_Y_POSITION(1)                                    : ' On determine la position du clic
  pfx%=LEFT(1) : pfy%=TOP(1)                                                              : ' On determine la position du 1er l'objet
  REPEAT
      LEFT 1,pfx%+MOUSE_X_POSITION(1)-ppx% : TOP 1,pfy%+MOUSE_Y_POSITION(1)-ppy%          : ' On déplace le 1er objet
      pfx%=LEFT(1) : pfy%=TOP(1)                                                          : ' On recalcule la position du 1er objet
  UNTIL MOUSE_LEFT_UP(1)=1
  ON_MOUSE_DOWN 1,deplace
RETURN

quitter:
  TERMINATE
RETURN

qui permettais de bouger un objet dans tout les sens

voici une version amélioré qui permet de  bouger l'objet verticalement
accompagné d'une butté de chaque extrémité ce qui est nouveau

Code:
LABEL deplace , quitter

DIM level%, indice%, LeftBtn%, TopBtn%, MouseY%, MouseX%

Button 1 : LEFT 1,43 : TOP 1,300  : ON_MOUSE_DOWN 1,deplace
alpha 3
END
deplace:
OFF_MOUSE_DOWN 1
  OFF_MOUSE_DOWN 1
  MouseX%=MOUSE_X_POSITION(1) : MouseY%=MOUSE_Y_POSITION(1)
  TopBtn%=TOP(1) :  LeftBtn%=LEFT(1)                                                             : ' On determine la position du 1er l'objet
REPEAT
  indice%=TopBtn%+MOUSE_Y_POSITION(1)-MouseY%            
  Level%=(300-indice%)
  If Level%<0 Then Level%=0       :' butté du bouton du minimum en Y
  If Level%>100 Then Level%=100   :' butté du bouton du maximum en Y
  caption 3,Level%
  
  Top 1,300-Level%
  TopBtn%=TOP(1) : LeftBtn%=LEFT(1)

UNTIL MOUSE_LEFT_UP(1)=1
ON_MOUSE_DOWN 1,deplace
RETURN

quitter:
  TERMINATE
RETURN

merci encore a minibug
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
Minibug

avatar

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

MessageSujet: Re: Amelioration du source   Mer 27 Déc 2017 - 22:32

Tant mieux si j'ai pu être utile et te rendre service.

Pour le code, je me demande si au départ ce n'était pas une idée de notre ami Silverman ! Wink
Il est bien possible qu'il y est un post de sa part là-dessus mais où ?! drunken
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://gpp.panoramic.free.fr
pascal10000

avatar

Nombre de messages : 703
Localisation : Troyes
Date d'inscription : 05/02/2011

MessageSujet: Re: Amelioration du source   Jeu 28 Déc 2017 - 15:02


bien sur que ça me rend service
je vais pouvoir créer mon projet en évolution a grand pas

même s'il n'es pas de toi je remercie également à l'auteur
je n'en dirai pas de plus juste que c'est en relation avec du multiùédia
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
Marc

avatar

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

MessageSujet: Re: Amelioration du source   Jeu 28 Déc 2017 - 23:43

Salut Pascal !

J'ai essayé la version améliorée qui permet de bouger l'objet verticalement.

Sur mon ordinateur, cette version ne permet pas un déplacement correct : j'ai un fonctionnement en "tout ou rien", c'est à dire soit la position mini 0 , soit la position maxi 100. Pas de position intermédiaire. Voir la vidéo ci-dessous.

J'ai donc essayé sur d'autres ordinateurs et là, ça fonctionne !  scratch

J'ai recherché la cause : dans la boucle REPEAT, ligne 20, la fonction TopBtn%=TOP(1) me renvoie la valeur de 65535 ou -32768 !
La boucle est trop rapide !
J'ai donc ajouté entre les lignes 20 et 21 une pause et tout est rentré dans l'ordre. Le temps que le TOP(1) se soit "fixé" avant de lire sa nouvelle position ligne 21. Un simple DISPLAY n'a pas fonctionné.


=> Voir l'explication technique et la solution de Silverman dans son post ci-dessous.



Merci pour ton partage et bonne continuation !


Dernière édition par Marc le Ven 29 Déc 2017 - 18:46, édité 1 fois
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
pascal10000

avatar

Nombre de messages : 703
Localisation : Troyes
Date d'inscription : 05/02/2011

MessageSujet: Re: Amelioration du source   Ven 29 Déc 2017 - 10:56

ok j'ai vu
bizarre que chez moi ça fonctionne bien
ce phénomène se fait avec un picture
pour mon projet
j'ai donc eu recoure avec le buton_picture N
et je n'ai pas eu d'ennui avec
de rien
bonne journée
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
silverman

avatar

Nombre de messages : 645
Age : 46
Localisation : Picardie
Date d'inscription : 18/03/2015

MessageSujet: Re: Amelioration du source   Ven 29 Déc 2017 - 16:48

Minibug a écrit:
Pour le code, je me demande si au départ ce n'était pas une idée de notre ami Silverman ! Wink
Et non, ce code n'est pas de moi

@pascal10000
J'ai le même phénomène sur un picture. Cela est du à MOUSE_Y_POSITION() qui n'est rafraichit que si la souris bouge sur l'objet, mais pas l'inverse !!!. Ca peut se reproduire pour d'autre objet également, voire être aléatoire.
Voici une version qui fonctionne:
Code:
LABEL deplace , quitter

DIM level%, indice%, LeftBtn%, TopBtn%, MouseY%, MouseX%
dim delta_MouseY% , old_MouseY% , MouseY_start%

picture 1 : LEFT 1,43 : TOP 1,300  : ON_MOUSE_DOWN 1,deplace
alpha 3
END
deplace:
  OFF_MOUSE_DOWN 1
  MouseX%=MOUSE_X_POSITION(1) : MouseY%=MOUSE_Y_POSITION(1)
  MouseY_start%=MouseY%  :' un point fixe de l'objet : la position au moment du clic
  TopBtn%=TOP(1) :  LeftBtn%=LEFT(1)                                                            : ' On determine la position du 1er l'objet
  ' NB : MOUSE_Y_POSITION(1) n'est rafraichit que si la souris bouge sur l'objet, MAIS PAS L'INVERSE !!!
REPEAT
  old_MouseY%=MouseY%
  MouseY%=MOUSE_Y_POSITION(1)
  if (MouseY%-old_MouseY%)<>0              :' si la souris bouge
    delta_MouseY%=MouseY%-MouseY_start%    :' calcule de combien de pixels elle a bougé par rapport au point fixe
  else
    delta_MouseY%=0                        :' sinon pas de mouvement
  end_if
  indice%=TopBtn%+delta_MouseY%
  Level%=(300-indice%)
  If Level%<0 Then Level%=0      :' butté du bouton du minimum en Y
  If Level%>100 Then Level%=100  :' butté du bouton du maximum en Y

  Top 1,300-Level%
  TopBtn%=TOP(1) : LeftBtn%=LEFT(1)

UNTIL MOUSE_LEFT_UP(1)=1
ON_MOUSE_DOWN 1,deplace
RETURN

quitter:
  TERMINATE
RETURN
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
Marc

avatar

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

MessageSujet: Re: Amelioration du source   Ven 29 Déc 2017 - 17:37

Merci Silverman pour ton explication technique.

L'ajout d'une pause comme je l'ai proposé n'était donc qu'un placebo.

Après différents essais, je confirme que seul ton code fonctionne bien.

Bravo !


Revenir en haut Aller en bas
Voir le profil de l'utilisateur
Contenu sponsorisé




MessageSujet: Re: Amelioration du source   

Revenir en haut Aller en bas
 
Amelioration du source
Revenir en haut 
Page 1 sur 1
 Sujets similaires
-
» Votre source sur Joseph Gordon-Levitt
» Map source et mac
» Map source & Mac OS X
» Base camp vs map source
» compatibilité Map Source et windows 8

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: