Hi guys,
I'm a newbie in processing
I am working on a game that requires text field, but unfortunately it is not editable, and I do not know why,
here's the code:
`import controlP5.*;
//What level of the game the player is at
//import controlP5.*;
//controlP5 cp5;
int level =0;
//What is being shown, 1=Instructions, 2=Dead screen, 3=Win screen, 4=In game
int screen = 1;
//Time limit for levels (if 0, timelimit doesn't apply)
int timelimit = 0;
//Stage of instructions the player is it
int instructionsStage=1;
int r = int(random(2, 30));
int value = int(random(1, 10));
int parse=0;
String toCheck="";
//did you die in the example of the instructions?(0 = dead, 1 = alive)
int demoDead=1;
//MAIN GAMEPLAY array for mouse positions, for black slug effect, and position of robot (xpos[0],ypos[0])
int[] xpos=new int[40];
int[] ypos=new int[40];
//TUTORIAL PT1 array for mouse positions, for black slug effect, and position of robot (xpos[0],ypos[0])
int[] xpos1=new int[40];
int[] ypos1=new int[40];
String tx = "DONE! CLICK TO MOVE ON";
PFont f;
boolean mouseIsDown = false;
boolean loading = false;
import controlP5.*;
ControlP5 cp5;
String url1, url2;
//Function for the slug and robot (1 for normal game play, 2 for non-robot levels, 3 for tutorial pt1)
/* void slug(int a){
if(a==1 || a==2){
background(255);
//array values of mouse positions shift
for (int i=0; i<xpos.length-1; i++){
xpos[i]=xpos[i+1];
ypos[i]=ypos[i+1];
}
//current mouse position is allways joining the array
xpos[xpos.length-1]=mouseX;
ypos[ypos.length-1]=mouseY;
//creates slug effect
for (int i=0; i<xpos.length; i++){
noStroke();
fill(255-i6);
ellipse(xpos[i],ypos[i],(i/4)3,(i/4)*3);
}
}
if(a==3){
demoDead=1;
//array values of mouse positions shift
for (int i=0; i<xpos1.length-1; i++){
xpos1[i]=xpos1[i+1];
ypos1[i]=ypos1[i+1];
}
//last array position is moved along x (controls speed and direction the example slug moves in the tutorial)
if((xpos1[xpos1.length-1])<=200){
xpos1[xpos1.length-1]=((xpos1[xpos1.length-1])+10);
}
if(((xpos1[xpos1.length-1])>=200)&&((xpos1[xpos1.length-1])<=225)){
xpos1[xpos1.length-1]=((xpos1[xpos1.length-1])+1);
}
if(((xpos1[xpos1.length-1])>=225)&&((xpos1[xpos1.length-1])<=400)){
xpos1[xpos1.length-1]=((xpos1[xpos1.length-1])+10);
}
if(((xpos1[xpos1.length-1])>=400)&&((xpos1[xpos1.length-1])<435)){
xpos1[xpos1.length-1]=((xpos1[xpos1.length-1])+1);
}
if((xpos1[0])>=435){
xpos1[xpos1.length-1]=((xpos1[xpos1.length-1])+1);
}
//hides slug and robot for short period before restaring the demo
if((xpos1[0])>405){
text("Dead",350,232);
demoDead=0;
}
//restarts the demo
if((xpos1[0])>=440){
demoDead=1;
//resetting array
for(int i=0;i<xpos1.length;i++){
xpos1[i]=80;
ypos1[i]=300;
}
}
//RESTART THE DEMO ONCE FINISHED
//creates slug effect
//only if it's ment to be visible
if (demoDead==1){
for (int i=0; i<xpos1.length; i++){
noStroke();
fill(255-i6);
ellipse(xpos1[i],ypos1[i],(i/4)3,(i/4)*3);
}
}
}
if (a==1){
for (int i=0; i<xpos.length; i++){
//draws robot being on last mouse position in the array
fill(255,0,0);
ellipse(xpos[0],ypos[0],50,50);
}
}
if (a==3){
for (int i=0; i<xpos.length; i++){
//draws robot being on last position in the array
//only if it's ment to be visible
if (demoDead==1){
fill(255,0,0);
ellipse(xpos1[0],ypos1[0],50,50);
}
}
}
}
*/
//Reused button, 1=instrutions part 1, 2=instructions part 2, 3=begin game, 4=continue game
void button(int a) {
fill(255, 234, 41);
noStroke();
if (a==1) {
rect(300, 500, 150, 50);
fill(0);
textAlign(CENTER);
textSize(32);
text("Start", 375, 535);
}
if (a==2) {
rect(300, 500, 150, 50);
fill(0);
text("Next", 375, 535);
}
if (a==3) {
rect(300, 100, 150, 50);
fill(0);
text("Start!", 350, 132);
}
if (a==4) {
rect(300, 100, 150, 50);
fill(0);
text("Resume", 350, 132);
}
}
//INSTRUCTIONS function (a=level of the game, 0=not started)
void instructions() {
background(255, 255, 255);
textSize(72);
cursor(CROSS);
fill(0);
if (instructionsStage==1) {
textAlign(CENTER);
text("Wa7ed Men Khamsa!", 100, 100, 600, 600);
button(1);
if ((mousePressed)&&((mouseX>300)&&(mouseX<450)&&(mouseY>500)&&(mouseY<550))) {
instructionsStage++;
}
}
if (instructionsStage==2) {
{
background(255);
if (mouseIsDown == true)
{
loading = true;
frameCount = 1;
}
if (loading == false)
{
/* int r = int(random(2,30));
text (r, 400, 300);
fill(0);
textAlign(CENTER);
textSize(20);
text (tx, 400, 400);
if(mouseIsDown == true){ */
instructionsStage++;
}
}
if (loading == true)
{
fill(0);
textAlign(CENTER);
textSize(32);
text ("Counting the Passengers: " + int((frameCount%301) / 3) + "%", 400, 250);
rect(300, 300, 204, 24);
fill(255);
int fillX = ((frameCount%301) / 3 * 2);
rect(502, 302, fillX-200, 20);
if (frameCount%301 == 0)
{
loading = false;
}
}
}
/*
text("The scientits have programmed each robot to follow your moves exactly when you hold down your mouse button, but 1 second behind, so if you move too slowly, it will catch you up, which will get you killed.",100,425,600,600);
button(2);
//slug(3); /
/ if((mousePressed)&&((mouseX>300)&&(mouseX<450)&&(mouseY>100)&&(mouseY<150))){
instructionsStage++;
}
} */
if (instructionsStage==3) {
text (r, 400, 300);
textSize(32);
text("Passengers", 100, 350, 600, 600);
button(2);
if ((mousePressed)&&((mouseX>300)&&(mouseX<450)&&(mouseY>500)&&(mouseY<550))) {
instructionsStage++;
}
}
if (instructionsStage==4) {
textSize(20);
text(r, 130, 100);
text("*", 160, 100);
text(value, 190, 100);
text("=", 220, 100);
text(toCheck, 250, 100);
//converting string to int
parse = parseInt(toCheck);
cp5 = new ControlP5(this);
cp5.addTextfield("textInput_1").setPosition(20, 100).setSize(200, 40).setAutoClear(false);
//cp5.addTextfield("textInput_2").setPosition(20, 170).setSize(200, 40).setAutoClear(false);
cp5.addBang("Submit").setPosition(240, 170).setSize(80, 40);
text("If the ticket price is 1 L.E, and each passenger pays 5 L.E, what is the total of their payment?", 100, 400, 600, 600);
if (level==0) {
button(3);
} else {
button(4);
}
if ((mousePressed)&&((mouseX>300)&&(mouseX<450)&&(mouseY>100)&&(mouseY<150))) {
screen=4;
instructionsStage=0;
}
}
}
void setup() {
size(800, 660);
background(255);
//MAIN GAMEPLAY initializing array of mouse positions as all equalling 0
for (int i=0; i<xpos.length; i++) {
xpos[i]=0;
ypos[i]=0;
}
//TUTORIAL PT 1 initializing array of mouse positions
for (int i=0; i<xpos1.length; i++) {
xpos1[i]=80;
ypos1[i]=300;
}
f = createFont("Dotum-20.vlw", 20, true);
}
void draw() {
if (screen==1) {
instructions();
}
if (screen==3) {
Submit();
}
if (screen==4) {
background(255);
text("This is the first level. I'll make this at some point", 200, 200);
}
}
void mousePressed() {
mouseIsDown = true;
}
//this function is called every time you release a mouse button
void mouseReleased() {
mouseIsDown = false;
}
void Submit () {
print("the following text was submitted :");
url1 = cp5.get(Textfield.class, "textInput_1").getText();
//url2 = cp5.get(Textfield.class, "textInput_2").getText();
print(" textInput 1 = " + url1);
//print(" textInput 2 = " + url2);
println();
}`