Difference between revisions of "QFunction"

From Digipool-Wiki
Jump to: navigation, search
(Beispiel Code)
Line 100: Line 100:
  
 
<pre>
 
<pre>
 +
 +
var frame = 0;
 +
var frameSetup = 0;
 +
 +
var bgc = 50;
 +
var mouseT = 0;
 +
var w = 384;
 +
var h = 640;
 +
 +
var cList = [0,0,0, 0,0,0,0, 0,0,0,0];
 +
var mouseUp = 0;
 +
 +
function setup() {
 +
  pixelDensity(1);
 +
 +
  createCanvas(384, 640);
 +
 +
}
 +
 +
// x-Position, y-Position, Checkbox-Number, Text-1-Line, Text-3-Line
 +
function cBox(cX, cY, cN, cT1, cT2){
 +
  if( (mouseIsPressed)&&(mouseUp == 0) ){
 +
    if( (mouseX>cX-150)&&(mouseX<cX+150)&&(mouseY>cY)&&(mouseY<cY+40) ){
 +
      mouseUp = 1;
 +
      if(cList[cN] == 0){
 +
        cList[cN] = 1;
 +
      }else{
 +
        cList[cN] = 0;
 +
      }
 +
    }
 +
  }
 +
 +
 +
  if(mouseIsPressed == false){
 +
    mouseUp = 0;
 +
  }
 +
 +
  // Text
 +
  fill(250);
 +
  noStroke();
 +
  rect(cX - 150, cY, 300, 40);
 +
  fill(10);
 +
  textAlign(LEFT);
 +
  textSize(18);
 +
  textStyle(NORMAL);
 +
 +
  if(cT2 == ""){
 +
    text(cT1, cX - 110, cY + 25);
 +
  }else{
 +
    text(cT1, cX - 110, cY + 15);
 +
    text(cT2, cX - 110, cY + 34);
 +
  }
 +
 +
  // Checkbox
 +
  ellipseMode(CENTER);
 +
  stroke(20);
 +
  strokeWeight(2);
 +
  noFill();
 +
  ellipse(cX - 130, cY+20, 25, 25);
 +
  if(cList[cN] == 1){
 +
    fill(20);
 +
    ellipse(cX - 130, cY+20, 15, 15);
 +
  }
 +
}
 +
 +
// x-Position, y-Position, Guestion-Number, Text-1-Line, Text-3-Line, Text-3-Line
 +
function qBox(qX, qY, qN, qT1, qT2, qT3){
 +
 +
  // Text
 +
  fill(250);
 +
  rect(qX - 150, qY, 300, 70);
 +
  fill(10);
 +
  textAlign(LEFT);
 +
  textSize(20);
 +
 +
  if( (qT2 == "")&&(qT3 == "") ){
 +
    text(qT1, qX - 145, qY + 20);
 +
  }
 +
 +
  if( (qT2 != "")&&(qT3 == "") ){
 +
    text(qT1, qX - 145, qY + 20);
 +
    text(qT2, qX - 145, qY + 42);
 +
  }
 +
 +
  if( (qT2 != "")&&(qT3 != "") ){
 +
    text(qT1, qX - 145, qY + 20);
 +
    text(qT2, qX - 145, qY + 42);
 +
    text(qT3, qX - 145, qY + 64);
 +
  }
 +
 +
}
 +
 +
 +
function draw() {
 +
  if( fullscreen() ){
 +
    if(frame == 0){
 +
      frame = 1;
 +
    }
 +
  }
 +
  background(bgc);
 +
 +
  // Frame Conter Display
 +
  textSize(18);
 +
  text(frame, 10, 20);
 +
 
 +
  fill(200);
 +
  rect(0, height - 150, width, 150);
 +
 +
  if (frame == 1) {
 +
    if (frameSetup == 0) {
 +
      frameSetup = 1;
 +
      bgc = 100;
 +
    }
 +
    qBox(width/2, 30, 1, "Hallo was ist deine ganz", "persoehnliche Lieblingsfarbe", "an diesem Tag?");
 +
    cBox(width/2, 150, 1, "Wegen des Wetters mage ich ", "an heute ein tristes Grau.");
 +
    cBox(width/2, 200, 2, "Meine liblingsfabe ist Blau.", "");
 +
    cBox(width/2, 250, 3, "Ich mage heute Rot!", "");
 +
  }
 +
 +
  if (frame == 2) {
 +
    if (frameSetup == 0) {
 +
      frameSetup = 1;
 +
      bgc = 120;
 +
    }
 +
    qBox(width/2, 30, 2, "Wie wuerdest Du deine Tages-", "Stimmung bezeichnen?", "");
 +
    cBox(width/2, 150, 4, "Ganz ok", "");
 +
    cBox(width/2, 200, 5, "Super!", "");
 +
    cBox(width/2, 250, 6, "So mittel...", "");
 +
    cBox(width/2, 300, 7, "Mir geht es heute nicht", "so gut.");
 +
  }
 +
 +
  if (frame == 3) {
 +
    if (frameSetup == 0) {
 +
      frameSetup = 1;
 +
      bgc = 100;
 +
    }
 +
    qBox(width/2, 30, 3, "Hast Du gut geschlafen?", "", "");
 +
    cBox(width/2, 150, 8, "Ja", "");
 +
    cBox(width/2, 200, 9, "Nein", "");
 +
    cBox(width/2, 250, 10, "Ich konnte nicht schlafen", "");
 +
    cBox(width/2, 300, 11, "Ich habe mich gut ", "ausgeschlafen");
 +
  }
 +
 +
  if (frame == 4) {
 +
    if (frameSetup == 0) {
 +
      frameSetup = 1;
 +
      bgc = 100;
 +
    }
 +
    text("Answer_A_1: " + Answer_A_1, w / 2, h / 2);
 +
  }
 +
 +
  if (frame == 0) {
 +
    background(bgc);
 +
    textAlign(CENTER);
 +
    textSize(40);
 +
    text("Start-Screen", w / 2, h / 2);
 +
 +
  } else {
 +
    nextButton();
 +
  }
 +
}
 +
 +
function nextButton() {
 +
  textAlign(CENTER);
 +
  textSize(40);
 +
  fill(200);
 +
  noStroke();
 +
  // rect(0, height - 150, width, 150);
 +
  fill(0);
 +
  text("NEXT", w / 2, h - 75);
 +
}
 +
 +
function mousePressed() {
 +
 +
  if (millis() > mouseT + 1000) {
 +
    mouseT = millis();
 +
    if ((mouseY >= height - 150) && (frame > 0) && (frame <= 3)) {
 +
      mouseT = millis();
 +
      frame = frame + 1;
 +
      frameSetup = 0;
 +
    }
 +
 
 +
  }
 +
    if (frame == 0) {
 +
      fullscreen(true);
 +
    }
 +
   
 +
}
  
 
</pre>
 
</pre>
  
 
<br>
 
<br>

Revision as of 12:21, 26 January 2018


Guestion Box Function

Nutze diese Funktion um einen Text / eine Frage anzuzeigen. Der Text kann maximal aus drei Zeilen bestehen.


// x-Position, y-Position, Guestion-Number, Text-1-Line, Text-3-Line, Text-3-Line
function qBox(qX, qY, qN, qT1, qT2, qT3){

  // Text
  fill(250);
  noStroke();
  rect(qX - 150, qY, 300, 70);
  fill(10);
  textAlign(LEFT);
  textSize(20);

  if( (qT2 == "")&&(qT3 == "") ){
    text(qT1, qX - 145, qY + 20);
  }

  if( (qT2 != "")&&(qT3 == "") ){
    text(qT1, qX - 145, qY + 20);
    text(qT2, qX - 145, qY + 42);
  }

  if( (qT2 != "")&&(qT3 != "") ){
    text(qT1, qX - 145, qY + 20);
    text(qT2, qX - 145, qY + 42);
    text(qT3, qX - 145, qY + 64);
  }

}


Check-Box Function

Nutze diese Funktion um eine Antwort Checkbox anzuzeigen. Der Text kann maximal aus zwei Zeilen bestehen.


// x-Position, y-Position, Checkbox-Number, Text-1-Line, Text-3-Line
function cBox(cX, cY, cN, cT1, cT2){
  if( (mouseIsPressed)&&(mouseUp == 0) ){
    if( (mouseX>cX-150)&&(mouseX<cX+150)&&(mouseY>cY)&&(mouseY<cY+40) ){ 
      mouseUp = 1;
      if(cList[cN] == 0){
        cList[cN] = 1;
      }else{
        cList[cN] = 0;
      }
    }
  }


  if(mouseIsPressed == false){
    mouseUp = 0;
  }

  // Text
  fill(250);
  noStroke();
  rect(cX - 150, cY, 300, 40);
  fill(10);
  textAlign(LEFT);
  textSize(18);

  if(cT2 == ""){
    text(cT1, cX - 110, cY + 25);
  }else{
    text(cT1, cX - 110, cY + 15);
    text(cT2, cX - 110, cY + 34);
  }

  // Checkbox
  ellipseMode(CENTER);
  stroke(20);
  strokeWeight(2);
  noFill();
  ellipse(cX - 130, cY+20, 25, 25);
  if(cList[cN] == 1){
    fill(20);
    ellipse(cX - 130, cY+20, 15, 15);
  }
}



Beispiel Code

Hier eine Umfrage mit drei Fragen. MOMENTAN NOCH WORK IN PROGRESS


var frame = 0;
var frameSetup = 0;

var bgc = 50;
var mouseT = 0;
var w = 384;
var h = 640;

var cList = [0,0,0, 0,0,0,0, 0,0,0,0];
var mouseUp = 0;

function setup() {
  pixelDensity(1);

  createCanvas(384, 640);

}

// x-Position, y-Position, Checkbox-Number, Text-1-Line, Text-3-Line
function cBox(cX, cY, cN, cT1, cT2){
  if( (mouseIsPressed)&&(mouseUp == 0) ){
    if( (mouseX>cX-150)&&(mouseX<cX+150)&&(mouseY>cY)&&(mouseY<cY+40) ){ 
      mouseUp = 1;
      if(cList[cN] == 0){
        cList[cN] = 1;
      }else{
        cList[cN] = 0;
      }
    }
  }


  if(mouseIsPressed == false){
    mouseUp = 0;
  }

  // Text
  fill(250);
  noStroke();
  rect(cX - 150, cY, 300, 40);
  fill(10);
  textAlign(LEFT);
  textSize(18);
  textStyle(NORMAL);

  if(cT2 == ""){
    text(cT1, cX - 110, cY + 25);
  }else{
    text(cT1, cX - 110, cY + 15);
    text(cT2, cX - 110, cY + 34);
  }

  // Checkbox
  ellipseMode(CENTER);
  stroke(20);
  strokeWeight(2);
  noFill();
  ellipse(cX - 130, cY+20, 25, 25);
  if(cList[cN] == 1){
    fill(20);
    ellipse(cX - 130, cY+20, 15, 15);
  }
}

// x-Position, y-Position, Guestion-Number, Text-1-Line, Text-3-Line, Text-3-Line
function qBox(qX, qY, qN, qT1, qT2, qT3){

  // Text
  fill(250);
  rect(qX - 150, qY, 300, 70);
  fill(10);
  textAlign(LEFT);
  textSize(20);

  if( (qT2 == "")&&(qT3 == "") ){
    text(qT1, qX - 145, qY + 20);
  }

  if( (qT2 != "")&&(qT3 == "") ){
    text(qT1, qX - 145, qY + 20);
    text(qT2, qX - 145, qY + 42);
  }

  if( (qT2 != "")&&(qT3 != "") ){
    text(qT1, qX - 145, qY + 20);
    text(qT2, qX - 145, qY + 42);
    text(qT3, qX - 145, qY + 64);
  }

}


function draw() {
  if( fullscreen() ){
    if(frame == 0){
      frame = 1;
    }
  }
  background(bgc);

  // Frame Conter Display
  textSize(18);
  text(frame, 10, 20);
  
  fill(200);
  rect(0, height - 150, width, 150);

  if (frame == 1) {
    if (frameSetup == 0) {
      frameSetup = 1;
      bgc = 100;
    }
    qBox(width/2, 30, 1, "Hallo was ist deine ganz", "persoehnliche Lieblingsfarbe", "an diesem Tag?");
    cBox(width/2, 150, 1, "Wegen des Wetters mage ich ", "an heute ein tristes Grau.");
    cBox(width/2, 200, 2, "Meine liblingsfabe ist Blau.", "");
    cBox(width/2, 250, 3, "Ich mage heute Rot!", "");
  }

  if (frame == 2) {
    if (frameSetup == 0) {
      frameSetup = 1;
      bgc = 120;
    }
    qBox(width/2, 30, 2, "Wie wuerdest Du deine Tages-", "Stimmung bezeichnen?", "");
    cBox(width/2, 150, 4, "Ganz ok", "");
    cBox(width/2, 200, 5, "Super!", "");
    cBox(width/2, 250, 6, "So mittel...", "");
    cBox(width/2, 300, 7, "Mir geht es heute nicht", "so gut.");
  }

  if (frame == 3) {
    if (frameSetup == 0) {
      frameSetup = 1;
      bgc = 100;
    }
    qBox(width/2, 30, 3, "Hast Du gut geschlafen?", "", "");
    cBox(width/2, 150, 8, "Ja", "");
    cBox(width/2, 200, 9, "Nein", "");
    cBox(width/2, 250, 10, "Ich konnte nicht schlafen", "");
    cBox(width/2, 300, 11, "Ich habe mich gut ", "ausgeschlafen");
  }

  if (frame == 4) {
    if (frameSetup == 0) {
      frameSetup = 1;
      bgc = 100;
    }
    text("Answer_A_1: " + Answer_A_1, w / 2, h / 2);
  }

  if (frame == 0) {
    background(bgc);
    textAlign(CENTER);
    textSize(40);
    text("Start-Screen", w / 2, h / 2);

  } else {
    nextButton();
  }
}

function nextButton() {
  textAlign(CENTER);
  textSize(40);
  fill(200);
  noStroke();
  // rect(0, height - 150, width, 150);
  fill(0);
  text("NEXT", w / 2, h - 75);
}

function mousePressed() {

  if (millis() > mouseT + 1000) {
    mouseT = millis();
    if ((mouseY >= height - 150) && (frame > 0) && (frame <= 3)) {
      mouseT = millis();
      frame = frame + 1;
      frameSetup = 0;
    }
  
  }
    if (frame == 0) {
      fullscreen(true);
    }
    
}