Quantcast
Channel: Android Mode - Processing 2.x and 3.x Forum
Viewing all articles
Browse latest Browse all 941

App freezes or seems unresponsive. APDE gives no errors.

$
0
0

Hi guys,

I've been using APDE for not too long now and I can't seem to get my sketch (which is running fine on my PC) to run on my tablet.

I've tried a bunch, but can't seem to get it to work.

This is the code:

PImage img, clk, sad, smile, itemIcon, sad_p, smile_p;
Animation rose;
int sep = 175;
int sel = 1;
int t = 101;
float opac = 0;
int frm = 350;
int event = 0;
boolean go = false;
int delay = 50;
int op = 2;
int item = 0;
int time = 0;
int moveBy = 120;
int textX = 105;
int textY = 35;
boolean animationReady = false;
void setup() {
  fullScreen ();
  frameRate  (10);
  orientation(LANDSCAPE);
  smile = loadImage("icons/smiley.png");
  sad = loadImage("icons/sad.png");
  sad_p= loadImage("icons/druksad.png");
  smile_p= loadImage("icons/drukblij.png");
  background(0);
  text("Loading...", 10, 10);
}
void draw() {
  if (animationReady == false) {
    rose = new Animation ("rose/rose ", 66);
    rose.loadAnimation();
  }
  if (t > delay && event != 2) {
    switch (event) {
    case 0:
      break;
    case 1:
      event = 2;
      break;
    case 2:
      event = 0;
      break;
    case 3:
      event = 0;
      break;
    }
    sel++;
    opac = 0;
    if (sel == 4) {
      sel = 1;
    }
    go = true;
    t=0;
    if (event == 0) {
      img = loadImage("family"+sel+".jpg");
    }
  }
  t++;
  if (go == true) {
    tint(255, opac);
    imageMode(CENTER);
    image(img, width/2, height/2, width, height);
    if (event == 3) {
      rose.display(width/2, height/2);
    }
    if (event == 1) {
      fill(0);
      rect(0, 0, width, 50);
      fill(255);
      textSize(30);
      switch (item) {
      case 1:
        text("Om 8 uur begint het ontbijt. Smakelijk eten!", textX, textY);
        break;
      case 2:
        text("Om 1 uur ga je kaarten. Veel succes!", textX, textY);
        break;
      case 3:
        text("Om 3 uur ga je zingen in het koor. Veel plezier!", textX, textY);
        break;
      case 4:
        text("Om 2 uur ga je even lekker koffie drinken.", textX, textY);
        break;
      case 5:
        text("Om 1 uur ga je even schilderen. Maak er iets moois van.", textX, textY);
        break;
      case 6:
        text("Om 7 uur ga je douchen.", textX, textY);
        break;
      case 7:
        text("Om 4 uur moet je je kamer opruimen.", textX, textY);
        break;
      case 8:
        text("Om 2 uur begint de wedstrijd. Neem maar vast plaats achter de TV!", textX, textY);
        break;
      case 9:
        text("Om 12 uur ga je zwemmen.", textX, textY);
        break;
      }
      image(clk, width/2-sep, height/2, frm, frm);
      image(itemIcon, width/2+sep, height/2, frm, frm);
    }
    if (event == 2) {
      fill(0);
      rect(0, 0, width, 50);
      fill(255);
      textSize(30);
      sep = sep + 290;
      switch (item) {
      case 1:
        text("Hoe was het ontbijt?", textX, textY);
        break;
      case 2:
        text("Hoe was het kaarten?", textX, textY);
        break;
      case 3:
        text("Hoe ging het zingen?", textX, textY);
        break;
      case 4:
        text("Hoe was de koffie?", textX, textY);
        break;
      case 5:
        text("Vond je het schilderen leuk?", textX, textY);
        break;
      case 6:
        text("Vond je het douchen fijn?", textX, textY);
        break;
      case 7:
        text("Vind je het leuk om je kamer op te ruimen?", textX, textY);
        break;
      case 8:
        text("Hoe was de wedstrijd?", textX, textY);
        break;
      case 9:
        text("Vond je het zwemmen leuk?", textX, textY);
        break;
      }
      image(sad, width/2-sep, height/2-moveBy, frm, frm);
      image(smile, width/2+sep, height/2-moveBy, frm, frm);
      image(sad_p, (width/2-sep)-frm/2+(frm/5)/2, (height/2-frm/2)-moveBy, frm/5, frm/5);
      image(smile_p, (width/2+sep)-frm/2+(frm/5)/2, (height/2-frm/2)-moveBy, frm/5, frm/5);
      if (mousePressed == true &&
        mouseX > ((width/2-sep)-frm/2) &&
        mouseX < ((width/2-sep)+frm/2) &&
        mouseY > ((height/2)-frm/2) &&
        mouseY < ((height/2)+frm /2)) {
        event = 3;
        op = 0;
      }
      if (mousePressed == true &&
        mouseX > ((width/2+sep)-frm/2) &&
        mouseX < ((width/2+sep)+frm/2) &&
        mouseY > ((height/2)-frm/2) &&
        mouseY < ((height/2)+frm /2)) {
        event = 3;
        op = 1;
      }
      sep = 175;
    }
    if (event == 3) {
      fill(0);
      rect(0, 0, width, 50);
      fill(255);
      textSize(30);
      text("Dankjewel voor de reactie!", textX, textY);
    }
    if (opac == 255) {
      go = false;
    }
    opac = opac + 25;
  }
}
void touchStarted() {
  if (event == 0) {
    opac = 0;
    img = loadImage("items/item (" + item + ").jpg");
    switch (item) {
    case 0:
      time = 8;
      break;
    case 1:
      time = 1;
      break;
    case 2:
      time = 3;
      break;
    case 3:
      time = 2;
      break;
    case 4:
      time = 1;
      break;
    case 5:
      time = 7;
      break;
    case 6:
      time = 4;
      break;
    case 7:
      time = 2;
      break;
    case 8:
      time = 12;
      break;
    }
    clk = loadImage("icons/time/"+ time +"u.png");
    switch (item) {
    case 0:
      itemIcon = loadImage("icons/tafel.png");
      break;
    case 1:
      itemIcon = loadImage("icons/kaart1.png");
      break;
    case 2:
      itemIcon = loadImage("icons/koor1.png");
      break;
    case 3:
      itemIcon = loadImage("icons/koffie1.png");
      break;
    case 4:
      itemIcon = loadImage("icons/schilderen1.png");
      break;
    case 5:
      itemIcon = loadImage("icons/douchen1.png");
      break;
    case 6:
      itemIcon = loadImage("icons/opruimen1.png");
      break;
    case 7:
      itemIcon = loadImage("icons/voetbal1.png");
      break;
    case 8:
      itemIcon = loadImage("icons/zwem1.png");
      break;
    }
    event = 1;
    go = true;
    t=0;
    item++;
  }
  if (event == 2) {
    event = 0;
    t=0;
  }
}
class Animation {
  PImage[] images;
  int imageCount;
  int frame;
  boolean getImages = false;
  String imageName = "";
  Animation(String imagePrefix, int count) {
    imageCount = count;
    images = new PImage[imageCount];
    imageName = imagePrefix;
  }
  void loadAnimation() {
    for (int i = 0; i < imageCount; i++) {
      String filename = imageName + "(" + i + ").jpg";
      images[i] = loadImage(filename);
    }
    animationReady = true;
  }
  void display(float xpos, float ypos) {
    frame = (frame+1) % imageCount;
    image(images[frame], xpos, ypos, width, height);
  }
  int getWidth() {
    return images[0].width;
  }
}

When I run the sketch on APDE it builds my app, I install it and run it as usual. It shows a black screen with the text "loading..." in the top left corner, just like I programmed it. But that's it. It doesn't continue from there. No errors or anything.

Can any of you tell what might be causing this?

All the best,

  • Ryan

PS: Sorry for the formatting of my program. When you program in a hurry it can never be good...


Viewing all articles
Browse latest Browse all 941

Trending Articles