【分享帖】在安卓手机上运行Processing程序的方法的代码
 
          8716
        
          0
        
          1
        
          
          2015-02-25
        
   由于帖子“在安卓手机上运行Processing程序的方法”太长,论坛发帖有字数要求所以,我把程序在这张帖子里公布。
在安卓手机上运行Processing程序的方法网址:https://bbs.robomaster.com/article/72
    在安卓手机上运行Processing程序的方法网址:https://bbs.robomaster.com/article/72
Processing程序:
float add_val;//定义螺旋线半径增加值
float mouseX_keep;//定义变量,用于保存鼠标当前X值
//画螺旋线子程序
void Helix(float add_val){
 float radius = 1.0;//螺旋线初始点半径
  //螺旋线转动角度范围0到360*8
  //螺旋线每转动2度,半径就增加一个增量
  //通过for结构,产生螺旋线效果
  for(int deg = 0; deg < 360*8; deg += 2) {
   float angle = radians(deg);
   float x = 200 + (cos(angle) * radius);
   float y = 350 + (sin(angle) * radius);
   //螺旋线上每个点都是一个绿色实心圆
    fill(0,255,0);//定义螺旋线的填充色为绿色
   ellipse(x, y, 6, 6);
   //螺旋半径每转动2度增加一次
   radius = radius +add_val;
  }
} 
//初始化
void setup()
{
  //定义画布大小
 size(400,750); //绘制一个宽度为600像素,高度为750像素的画布 
  noStroke();//不绘制图形的轮廓线
 smooth();//开启抗锯齿功能,使线条轮廓光滑
  mouseX_keep=20;//设置鼠标光标位于水平标尺的初始位置
  add_val=0.04;  //当螺旋线旋转中心旋转角度不断增加时,
                  //螺旋线上的各点距离旋转中心的半径增加值
}
//主程序
void draw(){
 background(126);//设置画布背景灰度等级,数值范围0~255,数值越小越黑
 //在画布的下方水平画一个狭长的矩形,并填充黑色,以形成一条粗线
 //这个粗线就是滚动条的水平标尺
 rect(20,695,360,10);
 fill(0);
  //如果鼠标左键按下
 if(mousePressed)
  {
   //如果鼠标光标相对于画布左上角原点的X坐标值在20到580之间
   if(mouseX>0 && mouseX<380)
    {
     //坐标平移的影响范围在pushMatrix()与 popMatrix()之间的语句
     pushMatrix();
     //将原点从画布的左上角移动到X坐标为mouseX,Y坐标为700处
     translate(mouseX,700);      
     ellipse(0,0,33,33);//以新坐标原点画直径为33的圆
     fill(255);//圆内填充为白色 
     //白色圆的位置只受鼠标X坐标值的影响,而它的Y坐标值始终为700
     //这个白色的圆就是水平标尺上的滑块,
     //白色的圆只能约束在水平标尺上,随鼠标X值的变化而移动     
     popMatrix();//恢复坐标原点到画布的左上角
     //把区间在20到580的mouseX当前值正比换算为区间0.04到0.2的值
     //这个算式的执行,可以使鼠标X当前值成正比地影响螺旋线半径增加值
     add_val = map(mouseX, 20, 480, 0.04, 0.16);   
     Helix(add_val); //调用画螺旋线子程序  
    }
   //当鼠标当前X值小于等于水平标尺左端点的X值时,白色会固定在其左端点
   //同时螺旋线半径增加值最小
   else if(mouseX<=20) 
    {
     fill(255);
     ellipse(20,700,33,33);
     Helix( 0.04);
    }
   //当鼠标当前X值大于等于水平标尺右端点的X值时,白色会固定在其右端点
   //同时螺旋线半径增加值最大
   else if(mouseX>380)
   {  
     fill(255);
     ellipse(380,700,33,33);
     Helix( 0.16);     
    }
   mouseX_keep=mouseX;  
  }
  //当鼠标左键松开时,螺旋线的形状不变
 else
  {
    fill(255);
    ellipse(mouseX_keep,700,33,33);
    Helix( add_val);
  }
}
    文章标签
  
 
    请问这篇文章对你有用吗?
  
 
        【分享帖】在安卓手机上运行Processing程序的方法的代码