网页资讯视频图片知道文库贴吧地图采购
进入贴吧全吧搜索

 
 
 
日一二三四五六
       
       
       
       
       
       

签到排名:今日本吧第个签到,

本吧因你更精彩,明天继续来努力!

本吧签到人数:0

一键签到
成为超级会员,使用一键签到
一键签到
本月漏签0次!
0
成为超级会员,赠送8张补签卡
如何使用?
点击日历上漏签日期,即可进行补签。
连续签到:天  累计签到:天
0
超级会员单次开通12个月以上,赠送连续签到卡3张
使用连续签到卡
08月22日漏签0天
processing吧 关注:7,139贴子:9,778
  • 看贴

  • 图片

  • 吧主推荐

  • 游戏

  • 首页 上一页 1 2 3 4 下一页 尾页
  • 77回复贴,共4页
  • ,跳到 页  
<<返回processing吧
>0< 加载中...

回复:Processing中制作沙粒溶解动画:智慧从乌合之众中涌现

  • 只看楼主
  • 收藏

  • 回复
  • chenjiae
  • 知名人士
    10
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼

不是学计机所以着实搞不懂出了什么问题,我是拿来主义,见谅,请指正


  • 水合铜离子
  • 初级粉丝
    1
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
好厉害……从微博fo过来的路过……


2025-08-22 11:22:09
广告
不感兴趣
开通SVIP免广告
  • 南山亮二
  • 初级粉丝
    1
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
先顶了 LZ这个做的还是很牛B的!!!学习了


  • 真真引力子
  • 初级粉丝
    1
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
帮楼主加了一下空格。。。。。。。。
先找到c盘的WINDOWS文件夹,打开,再找到Fonts文件夹,进去找到 微软雅黑Bold(TrueType)
这个文件,托至processing内,如果有对话框,就选确定。
boolean jump; //一个让块的分割线在蓝线和绿线之间来回切换的参数
boolean p1,p2,p3,p4; //每个块内四个元胞的状态,p1代表左上,p2右上,p3左下,p4右下
Block quadCube; //后面写了一个类叫做Block,主要内容就是块内四个元胞如何根据现
//有的状态更新状态
boolean[]status=new boolean[4]; //建个数组储存四个元胞状态
PFont yahei; //声明字体
void setup(){
size(400,300);
background(0);
frameRate(30); //画布的帧率,通过这个参数可以控制坍塌的速度
yahei=createFont("MSYHBD.TTF",160);
//写这句之前你需要先在c盘font文件夹里找到雅黑字体并拖到当前代码窗口里
textFont(yahei); //使用字体
fill(255); //字体填充色
text("节操",50,200); //写字
}
void draw(){
if(jump==false){ //false时使用绿线的方法分割,true时使用蓝线方法切割
for(int i=0;i<width-1;i+=2){ //每一列
for(int j=0;j<height-1;j+=2){ //每一行
if(get(i,j)==color(255)){p1=true;}else{p1=false;} //根据每个像素点的颜色求得其状态
if(get(i+1,j)==color(255)){p2=true;}else{p2=false;}
if(get(i,j+1)==color(255)){p3=true;}else{p3=false;}
if(get(i+1,j+1)==color(255)){p4=true;}else{p4=false;}
quadCube=new Block(p1,p2,p3,p4); //四个状态导入到类里运算
status=quadCube.output(); //得到更新后的状态
if(status[0]==true){set(i,j,color(255));}else{set(i,j,color(0));} //根据状态给每个像素点上色
if(status[1]==true){set(i+1,j,color(255));}else{set(i+1,j,color(0));}
if(status[2]==true){set(i,j+1,color(255));}else{set(i,j+1,color(0));}
if(status[3]==true){set(i+1,j+1,color(255));}else{set(i+1,j+1,color(0));}
}
}
jump=true; //切换下状态,下一帧里按照蓝线切割了
}else{
//按照蓝线切割
for(int i=1;i<width-1;i+=2){ //每一列
for(int j=1;j<height-1;j+=2){ //每一行
if(get(i,j)==color(255)){p1=true;}else{p1=false;}
if(get(i+1,j)==color(255)){p2=true;}else{p2=false;}
if(get(i,j+1)==color(255)){p3=true;}else{p3=false;}
if(get(i+1,j+1)==color(255)){p4=true;}else{p4=false;}
quadCube=new Block(p1,p2,p3,p4);
status=quadCube.output();
if(status[0]==true){set(i,j,color(255));}else{set(i,j,color(0));}
if(status[1]==true){set(i+1,j,color(255));}else{set(i+1,j,color(0));}
if(status[2]==true){set(i,j+1,color(255));}else{set(i,j+1,color(0));}
if(status[3]==true){set(i+1,j+1,color(255));}else{set(i+1,j+1,color(0));}
}
}
jump=false; //切换回绿线
}
}
//下面是专门计算状态的类,看着挺长,实际上就是用if 和 else if对上面那个沙堆规
//则图进行了代码化表达
class Block {
boolean s1, s2, s3, s4;
float possibility=35f; //这里的f是用来声明35是个浮点数而不是整数,有
//35的概率“阻塞”
boolean result[]=new boolean[4];
Block(boolean i1, boolean i2, boolean i3,boolean i4) {
if(i1==false && i2==false && i3==false &&i4==false) {
s1=false;
s2=false;
s3=false;
s4=false;
}
else if(i3==true && i4==true) {
s1=i1;
s2=i2;
s3=i3;
s4=i4;
}
else if(i1==true && i2==true && i3==false &&i4==true) {
s1=false;
s2=true;
s3=true;
s4=true;
}
else if(i1==true && i2==true && i3==true &&i4==false) {
s1=true;
s2=false;
s3=true;
s4=true;
}
else if(i1==true && i2==false && i3==true &&i4==false) {
s1=false;
s2=false;
s3=true;
s4=true;
}
else if(i1==false && i2==true && i3==false &&i4==true) {
s1=false;
s2=false;
s3=true;
s4=true;
}
else if(i1==true && i2==true && i3==false &&i4==false) {
float odd=random(100);
if (odd<possibility){
s1=true;
s2=true;
s3=false;
s4=false;
}
else {
s1=false;
s2=false;
s3=true;
s4=true;
}
}
else if(i1==true) {
s1=false;
s2=false;
s3=true;
s4=false;
}
else if(i2==true) {
s1=false;
s2=false;
s3=false;
s4=true;
}
else {
s1=i1;
s2=i2;
s3=i3;
s4=i4;
}
}
boolean[] output() { //这里返回数组的写法要多留心下,我写错了好多回
boolean[]result= {
s1, s2, s3, s4
};
return result;
}
}


  • 真真引力子
  • 初级粉丝
    1
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
帮楼主加了一下空格。。。。。。。。
先找到c盘的WINDOWS文件夹,打开,再找到Fonts文件夹,进去找到 微软雅黑Bold(TrueType)
这个文件,托至processing内,如果有对话框,就选确定。
boolean jump; //一个让块的分割线在蓝线和绿线之间来回切换的参数
boolean p1,p2,p3,p4; //每个块内四个元胞的状态,p1代表左上,p2右上,p3左下,p4右下
Block quadCube; //后面写了一个类叫做Block,主要内容就是块内四个元胞如何根据现
//有的状态更新状态
boolean[]status=new boolean[4]; //建个数组储存四个元胞状态
PFont yahei; //声明字体
void setup(){
size(400,300);
background(0);
frameRate(30); //画布的帧率,通过这个参数可以控制坍塌的速度
yahei=createFont("MSYHBD.TTF",160);
//写这句之前你需要先在c盘font文件夹里找到雅黑字体并拖到当前代码窗口里
textFont(yahei); //使用字体
fill(255); //字体填充色
text("节操",50,200); //写字
}
void draw(){
if(jump==false){ //false时使用绿线的方法分割,true时使用蓝线方法切割
for(int i=0;i<width-1;i+=2){ //每一列
for(int j=0;j<height-1;j+=2){ //每一行
if(get(i,j)==color(255)){p1=true;}else{p1=false;} //根据每个像素点的颜色求得其状态
if(get(i+1,j)==color(255)){p2=true;}else{p2=false;}
if(get(i,j+1)==color(255)){p3=true;}else{p3=false;}
if(get(i+1,j+1)==color(255)){p4=true;}else{p4=false;}
quadCube=new Block(p1,p2,p3,p4); //四个状态导入到类里运算
status=quadCube.output(); //得到更新后的状态
if(status[0]==true){set(i,j,color(255));}else{set(i,j,color(0));} //根据状态给每个像素点上色
if(status[1]==true){set(i+1,j,color(255));}else{set(i+1,j,color(0));}
if(status[2]==true){set(i,j+1,color(255));}else{set(i,j+1,color(0));}
if(status[3]==true){set(i+1,j+1,color(255));}else{set(i+1,j+1,color(0));}
}
}
jump=true; //切换下状态,下一帧里按照蓝线切割了
}else{
//按照蓝线切割
for(int i=1;i<width-1;i+=2){ //每一列
for(int j=1;j<height-1;j+=2){ //每一行
if(get(i,j)==color(255)){p1=true;}else{p1=false;}
if(get(i+1,j)==color(255)){p2=true;}else{p2=false;}
if(get(i,j+1)==color(255)){p3=true;}else{p3=false;}
if(get(i+1,j+1)==color(255)){p4=true;}else{p4=false;}
quadCube=new Block(p1,p2,p3,p4);
status=quadCube.output();
if(status[0]==true){set(i,j,color(255));}else{set(i,j,color(0));}
if(status[1]==true){set(i+1,j,color(255));}else{set(i+1,j,color(0));}
if(status[2]==true){set(i,j+1,color(255));}else{set(i,j+1,color(0));}
if(status[3]==true){set(i+1,j+1,color(255));}else{set(i+1,j+1,color(0));}
}
}
jump=false; //切换回绿线
}
}
//下面是专门计算状态的类,看着挺长,实际上就是用if 和 else if对上面那个沙堆规
//则图进行了代码化表达
class Block {
boolean s1, s2, s3, s4;
float possibility=35f; //这里的f是用来声明35是个浮点数而不是整数,有
//35的概率“阻塞”
boolean result[]=new boolean[4];
Block(boolean i1, boolean i2, boolean i3,boolean i4) {
if(i1==false && i2==false && i3==false &&i4==false) {
s1=false;
s2=false;
s3=false;
s4=false;
}
else if(i3==true && i4==true) {
s1=i1;
s2=i2;
s3=i3;
s4=i4;
}
else if(i1==true && i2==true && i3==false &&i4==true) {
s1=false;
s2=true;
s3=true;
s4=true;
}
else if(i1==true && i2==true && i3==true &&i4==false) {
s1=true;
s2=false;
s3=true;
s4=true;
}
else if(i1==true && i2==false && i3==true &&i4==false) {
s1=false;
s2=false;
s3=true;
s4=true;
}
else if(i1==false && i2==true && i3==false &&i4==true) {
s1=false;
s2=false;
s3=true;
s4=true;
}
else if(i1==true && i2==true && i3==false &&i4==false) {
float odd=random(100);
if (odd<possibility){
s1=true;
s2=true;
s3=false;
s4=false;
}
else {
s1=false;
s2=false;
s3=true;
s4=true;
}
}
else if(i1==true) {
s1=false;
s2=false;
s3=true;
s4=false;
}
else if(i2==true) {
s1=false;
s2=false;
s3=false;
s4=true;
}
else {
s1=i1;
s2=i2;
s3=i3;
s4=i4;
}
}
boolean[] output() { //这里返回数组的写法要多留心下,我写错了好多回
boolean[]result= {
s1, s2, s3, s4
};
return result;
}
}


  • 泪梦惜
  • 初级粉丝
    1
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
很好的帖子 支持~!!!


  • rzy649
  • 核心吧友
    6
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
做得很好,继续加油


  • 贴吧用户_0XZSWEb
  • 初级粉丝
    1
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
楼主能教一下怎样换成图片么!!!!!!!!!!!!!!!!!!!急求!!!!!!!!!!!!!


2025-08-22 11:16:09
广告
不感兴趣
开通SVIP免广告
  • 贴吧用户_0XZSWEb
  • 初级粉丝
    1
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
是不是字体只可以是白色,其他颜色要怎么改。。。


  • 贴吧用户_0XZSWEb
  • 初级粉丝
    1
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
您好,可以帮我看一下这个怎样添加一个声控的效果么?就是人发出的声音达到一定的分贝图片再执行坍塌的效果。
急求!!!!!!!!万分感谢
boolean jump;
boolean p1, p2, p3, p4;
Block quadCube;
boolean[]status=new boolean[4];
//PFont font;
PImage img;
PImage img2;
import ddf.minim.*;
Minim minim;
AudioInput in;
AudioPlayer jingle;
//FFT fft;
void setup() {
size(800, 800, P3D);
background(0);
frameRate(30);
minim = new Minim(this);
in = minim.getLineIn();
jingle = minim.loadFile("qingwa.mp3", 1024);
jingle.loop();
// fft = new FFT( jingle.bufferSize(), jingle.sampleRate() );
fill(255);
img = loadImage("youling.png");
img2 = loadImage("youling2.png");
image(img, 200, 200);
image(img2, 200, 200);
}
void draw() {
stroke(255);
for(int i = 0; i < in.bufferSize() - 1; i++)
{
line( i, 50 + in.left.get(i)*50, i+1, 50 + in.left.get(i+1)*50 );
line( i, 150 + in.right.get(i)*50, i+1, 150 + in.right.get(i+1)*50 );
}
if (jump==false) {
for (int i=0; i<width-1; i+=1) {
for (int j=0; j<height-1; j+=1) {
if (get(i, j)==color(255)) {
p1=true;
} else {
p1=false;
}
if (get(i+1, j)==color(255)) {
p2=true;
} else {
p2=false;
}
if (get(i, j+1)==color(255)) {
p3=true;
} else {
p3=false;
}
if (get(i+1, j+1)==color(255)) {
p4=true;
} else {
p4=false;
}
quadCube=new Block(p1, p2, p3, p4);
status=quadCube.output();
if (status[0]==true) {
set(i, j, color(255));
} else {
set(i, j, color(0));
}
if (status[1]==true) {
set(i+1, j, color(255));
} else {
set(i+1, j, color(0));
}
if (status[2]==true) {
set(i, j+1, color(255));
} else {
set(i, j+1, color(0));
}
if (status[3]==true) {
set(i+1, j+1, color(255));
} else {
set(i+1, j+1, color(0));
}
}
}
jump=true;
} else {
for (int i=1; i<width-1; i+=2) {
for (int j=1; j<height-1; j+=2) {
if (get(i, j)==color(255)) {
p1=true;
} else {
p1=false;
}
if (get(i+1, j)==color(255)) {
p2=true;
} else {
p2=false;
}
if (get(i, j+1)==color(255)) {
p3=true;
} else {
p3=false;
}
if (get(i+1, j+1)==color(255)) {
p4=true;
} else {
p4=false;
}
quadCube=new Block(p1, p2, p3, p4);
status=quadCube.output();
if (status[0]==true) {
set(i, j, color(255));
} else {
set(i, j, color(0));
}
if (status[1]==true) {
set(i+1, j, color(255));
} else {
set(i+1, j, color(0));
}
if (status[2]==true) {
set(i, j+1, color(255));
} else {
set(i, j+1, color(0));
}
if (status[3]==true) {
set(i+1, j+1, color(255));
} else {
set(i+1, j+1, color(0));
}
}
}
jump=false;
}
}
class Block {
boolean s1, s2, s3, s4;
float possibility=35f;
boolean result[]=new boolean[4];
Block(boolean i1, boolean i2, boolean i3, boolean i4) {
if (i1==false && i2==false && i3==false &&i4==false) {
s1=false;
s2=false;
s3=false;
s4=false;
} else if (i3==true && i4==true) {
s1=i1;
s2=i2;
s3=i3;
s4=i4;
} else if (i1==true && i2==true && i3==false &&i4==true) {
s1=false;
s2=true;
s3=true;
s4=true;
} else if (i1==true && i2==true && i3==true &&i4==false) {
s1=true;
s2=false;
s3=true;
s4=true;
} else if (i1==true && i2==false && i3==true &&i4==false) {
s1=false;
s2=false;
s3=true;
s4=true;
} else if (i1==false && i2==true && i3==false &&i4==true) {
s1=false;
s2=false;
s3=true;
s4=true;
} else if (i1==true && i2==true && i3==false &&i4==false) {
float odd=random(100);
if (odd<possibility) {
s1=true;
s2=true;
s3=false;
s4=false;
} else {
s1=false;
s2=false;
s3=true;
s4=true;
}
} else if (i1==true) {
s1=false;
s2=false;
s3=true;
s4=false;
} else if (i2==true) {
s1=false;
s2=false;
s3=false;
s4=true;
} else {
s1=i1;
s2=i2;
s3=i3;
s4=i4;
}
}
boolean[] output() {
boolean[]result= {
s1, s2, s3, s4
};
return result;
}
}


  • 回眸时微笑依在
  • 初级粉丝
    1
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
赞个


  • wlg116
  • 初级粉丝
    1
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
不错,学习中~


  • Whisper锦缎
  • 铁杆吧友
    9
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
[THUMBS UP SIGN]楼主好强


  • paymingde
  • 初级粉丝
    1
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
字体在哪里看到,其他字体呢,楼主


2025-08-22 11:10:09
广告
不感兴趣
开通SVIP免广告
  • sombrade
  • 知名人士
    11
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
boolean[]status=new boolean[4]; //建个数组储存四个元胞状态
PFont yahei; //声明字体
我知道了new 空格 boolean
PFont 空格yahei


登录百度账号

扫二维码下载贴吧客户端

下载贴吧APP
看高清直播、视频!
  • 贴吧页面意见反馈
  • 违规贴吧举报反馈通道
  • 贴吧违规信息处理公示
  • 首页 上一页 1 2 3 4 下一页 尾页
  • 77回复贴,共4页
  • ,跳到 页  
<<返回processing吧
分享到:
©2025 Baidu贴吧协议|隐私政策|吧主制度|意见反馈|网络谣言警示