Annonce

>>> Bienvenue sur codelab! >>> Première visite ? >>> quelques mots sur codelab //// une carte des membres//// (apéros) codelab


#1 2016-11-14 01:05:59 slider de son

imdidi
membre
Date d'inscription: 2012-10-05
Messages: 242

slider de son



bonjour a tous

je cherche a faire ce type de slider quelqu'un pourrait m'aiguiller sur comment je peux le faire
merci
Danny

http://codelab.fr/up/audio-volume-slider-icon.jpg

Hors ligne

 

#2 2016-11-14 11:10:02 Re : slider de son

Mushussu
membre
Lieu: Orléans
Date d'inscription: 2012-05-24
Messages: 802

Re: slider de son



Bonjour,

Tu peux t'inspirer de cela :

CurseurVolume curseur;

void setup() {
  size(400, 400);
  curseur = new CurseurVolume(this, 100, 100);
}

void draw() {
  background(0);
  noStroke();
  //  La methode valeur() de la classe CurseurVolume retourne un float entre 0 et 1
  rect(0, 0, 20, curseur.valeur() * 200);
}

public class CurseurVolume {
  PApplet parent;
  PVector position, taille;
  float valeur;
  boolean transition;

  CurseurVolume(PApplet _parent, int x, int y) {
    parent = _parent;
    position = new PVector(x, y);
    taille = new PVector(80, 40);
    valeur = 0;
    transition = false;
    parent.registerMethod("draw", this);
    parent.registerMethod("mouseEvent", this);
  }
  
  float valeur() {
    return valeur;
  }
  
  void draw() {
    pushStyle();
    strokeCap(ROUND);
    strokeWeight(4);
    pushMatrix();
    translate(position.x, position.y);
    fill(127);
    noStroke();
    triangle(0, 0, taille.x * valeur, 0, taille.x * valeur, - taille.y * valeur);
    stroke(255);
    line(0, 0, taille.x, 0);
    line(0, 0, taille.x, -taille.y);
    line(taille.x, 0, taille.x, -taille.y);
    strokeWeight(6);
    if (transition) {
      stroke(255, 0, 0);
    } else {
      stroke(255);
    }
    line(taille.x * valeur, -taille.y - 5, taille.x * valeur, 5);
    popMatrix();
    popStyle();
  }

  void mouseEvent(processing.event.MouseEvent event) {
    switch (event.getAction()) {
    case MouseEvent.PRESS:
      if ((mouseX > position.x + taille.x * valeur - 3) && (mouseX < position.x + taille.x * valeur + 3) && (mouseY > position.y - taille.y - 3) && (mouseY < position.x + 3)) {
        transition = true;
      }
      break;
    case MouseEvent.DRAG:
      if (transition) {
        valeur = constrain((mouseX - position.x) / (float)taille.x, 0, 1);
      }
      break;
    case MouseEvent.RELEASE:
      transition = false;
      break;
    }
  }
}

Hors ligne

 

#3 2016-11-14 17:55:50 Re : slider de son

imdidi
membre
Date d'inscription: 2012-10-05
Messages: 242

Re: slider de son



bonjour Mushussu

oui c'est en plein ça que je veux. Mais aurait t-il une façon sans class et plus simple de le faire

javais faite ce code dans le fond ça fais la même chose mais avec un arc

void setup(){
  size(400,400);
  background(0);
}

void draw(){
  float a = map(mouseX,100,300,radians(270),radians(630));
  pushStyle();
    noFill();
    stroke(255,255,255,60);
    strokeWeight(8);
    strokeCap(ROUND);
    arc(200, 200, 100, 100, radians(0), radians(360)); //Arc principale
    stroke(255,0,0,200);
    arc(200, 200, 100, 100, radians(270),(a)%radians(630)); //Arc visuel
    popStyle();
}

merci

Hors ligne

 

#4 2016-11-14 19:47:50 Re : slider de son

Mushussu
membre
Lieu: Orléans
Date d'inscription: 2012-05-24
Messages: 802

Re: slider de son



Que veux-tu exactement, de la visualisation ou bien un contrôleur.
Si tu veux un contrôleur, pourquoi te priver de l'utilisation d'outils puissants telles que les classes ?

Ce que tu proposes dans ton deuxième message n'a absolument rien à voir avec l'image de ton premier message.

Hors ligne

 

#5 2016-11-14 20:55:48 Re : slider de son

imdidi
membre
Date d'inscription: 2012-10-05
Messages: 242

Re: slider de son



j'ai besoin des 2 visualisation et contrôleur la parti contrôleur je peux me débrouiller mais je bug sur la visualisation  des 2 triangle

mais de mon coter j’utilise déjà une class alors une class dans une class...
de plus je ne suis pas familier avec les terme que tu utilise dans ta class

ce que j'ai besoin c’est exactement ce que tu ma montrer mais pas en class pour l’inclure dans ma class
en gros j’ai besoin de seulement 2 triangle rectangle un qui est vide mais stroker et l’autre qui rempli jusqu'au curseur selon la position du curseur

a moins que ce sois facile a implémenter dans ma class

Dernière modification par imdidi (2016-11-14 21:08:01)

Hors ligne

 

#6 2016-11-15 00:38:59 Re : slider de son

Mushussu
membre
Lieu: Orléans
Date d'inscription: 2012-05-24
Messages: 802

Re: slider de son



Pour le potentiomètre rotatif pourquoi ne pas utiliser la librairie ControlP5 ?

Tu peux bien évidement utiliser une instance de classe dans une autre classe.

Hors ligne

 

#7 2016-11-15 00:46:36 Re : slider de son

imdidi
membre
Date d'inscription: 2012-10-05
Messages: 242

Re: slider de son



je vais essayer de jongler avec tout ça
Merci pour ton temps
A+

Hors ligne

 

#8 2016-11-19 19:42:00 Re : slider de son

cgiles
membre
Lieu: Est de la France
Date d'inscription: 2005-05-25
Messages: 329

Re: slider de son



Tu devrais plutot dessiner en polaire qu'en cartésien, un peu de thalès ou de règle de 3 et le tour est joué.


Tu fais une fonction draw triangle et tu l'appelles deux fois, d'abord pour dessiner le fond, puis la valeur et tu traces une ligne par dessus.

Hors ligne

 

fil rss de cette discussion : rss

Pied de page des forums

Powered by FluxBB

codelab, graphisme & code : emoc / 2008-2024