新手有关processing的mousePressed()的问题
processing吧
全部回复
仅看楼主
level 1
我是wangshe 楼主
我在做一个界面 分为9个部分 鼠标放到一个部分上, 那块就变大。然后放到其他地方就会返回原样。但是返回了之后再按别的部分 就不动了 查了半天找不出原因 请大神指教啊
下面附代码、
float i = 0, j = 0, k = 0, l = 0;/*i,jwei posX k l wei posY*/
int s1 = 15,s2 = 10;
String square = null ;
boolean run = false;
int mode = 0;
void setup()
{
size(800,1250);
smooth();
}
void draw(){
background(255);
smooth();
line(266.6+i,0,266.6+i,1250);//shu1
line(800*2/3+j,0,800*2/3+j,1250);//shu2
line(0,416.6+k,800,416.6+k);//heng1
line(0,833.3+l,800,833.3+l);//heng2
Line_display();
return_display();
loop();
}
void Line_display() {
if(mousePressed&&mouseX>=0&&mouseX<=266&&mouseY>=416.6&&mouseY<=833.3&& square !="square_1") /*zuozhong (4)*/
{
if(i<=150){
i +=s1;
j +=s2;
k -=s1;
l +=s2;
}
square= "square_4";
}
else if(mousePressed&&mouseX>=0&&mouseX<=266&&mouseY>=0&&mouseY<=416.6&& square !="square_4") /*zuoshang(1)*/
{
if(i<=150){
i +=s1;
j +=s2;
k +=s1;
l +=s2;
}square = "square_1";
}
}
void return_display(){
if(mousePressed&&((mouseX>=416&&mouseX<=800)||(mouseY>=566.6&&mouseY<=1250))&&square=="square_1") /*zuoshang(1) return to the starting point*/
{
if(i>=0){
i -=s1;
j -=s2;
k -=s1;
l -=s2;
}
}
else if(mousePressed&&((mouseX>=416.6&&mouseX<=800)||(mouseY<=1250&&mouseY>=983)||(mouseY<=266&&mouseY>=0))&&square=="square_4") /*zuozhong(4) return to the starting point*/
{
if(i>=0){
i -=s1;
j -=s2;
k +=s1;
l -=s2;
}
}
}
2015年11月01日 11点11分 1
1