[校园动态] 【分享帖】在安卓手机上运行Processing程序的方法的代码

[复制链接]
英雄三大张
2015-2-25 14:44:47 显示全部楼层

马上注册,玩转Robomaster!

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
   由于帖子“在安卓手机上运行Processing程序的方法”太长,论坛发帖有字数要求所以,我把程序在这张帖子里公布。
  在安卓手机上运行Processing程序的方法网址:http://bbs.robomasters.com/forum.php?mod=viewthread&tid=156
Processing程序:
float add_val;//定义螺旋线半径增加值
float mouseX_keep;//定义变量,用于保存鼠标当前X
//画螺旋线子程序
void Helix(float add_val){
float radius = 1.0;//螺旋线初始点半径
  //螺旋线转动角度范围0360*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坐标值在20580之间
   if(mouseX>20 && mouseX<380)
    {
     //坐标平移的影响范围在pushMatrix() popMatrix()之间的语句
     pushMatrix();
     //将原点从画布的左上角移动到X坐标为mouseXY坐标为700
     translate(mouseX,700);      
     ellipse(0,0,33,33);//以新坐标原点画直径为33的圆
     fill(255);//圆内填充为白色
     //白色圆的位置只受鼠标X坐标值的影响,而它的Y坐标值始终为700
     //这个白色的圆就是水平标尺上的滑块,
     //白色的圆只能约束在水平标尺上,随鼠标X值的变化而移动     
     popMatrix();//恢复坐标原点到画布的左上角
     //把区间在20580mouseX当前值正比换算为区间0.040.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程序的方法的代码

[复制链接]
步兵u0uuuu
2016-11-15 20:17:23 显示全部楼层
这个问题提的不错。。。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

触屏版 | 电脑版

Copyright © 2024 RoboMasters 版权所有 备案号 粤ICP备2022092332号

快速回复 返回顶部 返回列表