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
» StratégoV8 et V9
par Minibug Aujourd'hui à 1:10

» Rotation d'une image d'un angle quelconque
par JL35 Hier à 23:02

» GRID_LOAD
par Jean Claude Hier à 21:04

» HVIEWER
par Yannick Hier à 20:31

» KGF_dll - nouvelles versions
par Klaus Mar 16 Jan 2018 - 21:28

» Déformation d'image en trapèze
par mindstorm Mar 16 Jan 2018 - 21:06

» Mah-Jong américain
par Jean Claude Lun 15 Jan 2018 - 19:37

» Problème avec Deepl
par Klaus Lun 15 Jan 2018 - 0:34

» Quelques nouvelles ...
par Jean Claude Ven 12 Jan 2018 - 22:40

» Renommer les instructions ITEM_... ?
par Jicehel Ven 12 Jan 2018 - 18:56

» Ludothèque Panoramic
par jjn4 Ven 12 Jan 2018 - 18:11

» sous-programmes et fonctions
par Jack Ven 12 Jan 2018 - 17:51

» Mah-Jong français
par Jean Claude Jeu 11 Jan 2018 - 22:15

» panoramic 0.9.28
par gigi75 Ven 5 Jan 2018 - 14:06

» Un jeu qui va vous énerver!
par Jean Claude Jeu 4 Jan 2018 - 22:05

Navigation
 Portail
 Index
 Membres
 Profil
 FAQ
 Rechercher
Rechercher
 
 

Résultats par :
 
Rechercher Recherche avancée
Janvier 2018
LunMarMerJeuVenSamDim
1234567
891011121314
15161718192021
22232425262728
293031    
CalendrierCalendrier

Partagez | 
 

 Amelioration du source

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

avatar

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

MessageSujet: Amelioration du source   Mer 27 Déc 2017 - 20: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 : 2483
Age : 51
Localisation : Vienne (86)
Date d'inscription : 10/02/2012

MessageSujet: Re: Amelioration du source   Jeu 28 Déc 2017 - 0: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 : 666
Localisation : Troyes
Date d'inscription : 05/02/2011

MessageSujet: Re: Amelioration du source   Jeu 28 Déc 2017 - 17: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



Nombre de messages : 582
Age : 56
Localisation : TOURS
Date d'inscription : 18/03/2014

MessageSujet: Re: Amelioration du source   Ven 29 Déc 2017 - 1: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 - 20:46, édité 1 fois
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
pascal10000

avatar

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

MessageSujet: Re: Amelioration du source   Ven 29 Déc 2017 - 12: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 : 483
Age : 45
Localisation : Picardie
Date d'inscription : 19/03/2015

MessageSujet: Re: Amelioration du source   Ven 29 Déc 2017 - 18: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



Nombre de messages : 582
Age : 56
Localisation : TOURS
Date d'inscription : 18/03/2014

MessageSujet: Re: Amelioration du source   Ven 29 Déc 2017 - 19: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
Voir le sujet précédent Voir le sujet suivant Revenir en haut 
Page 1 sur 1
 Sujets similaires
-
» Votre source sur Joseph Gordon-Levitt
» Kiowa Source Alias Flo
» Map source et mac
» Map source & Mac OS X
» Base camp vs map source

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: