processing怎么重置时间

processing怎么重置时间,第1张

重新制作一个倒计时代码。

添加开始或者暂停按钮和重置按钮processing倒计时代码。

Processing是一种具有革命前瞻性的新兴计算机语言,它的概念是在电子艺术的环境下介绍程序语言,并将电子艺术的概念介绍给程序设计师。它是Java语言的延伸,并支持许多现有的Java语言架构,不过在语法上简易许多,并具有许多贴心及人性化的设计。以Processing完成的作品可在个人本机端作用,或以JavaApplets的模式外输至网络上发布。

游戏中经常需要做按钮, 按钮是有按压和d出两种状态。当按钮被按下时,按钮会触发某个函数的执行

长方形是4个角组成,因此四个坐标就可以定位长方形,也就是说new 一个长方形需要2个参数,分别为2个坐标.两个坐标是topleft 和rightdown , 但由于rightdown坐标可以用width height 和topleft进行计算,实际参数就是 x y w h

需要检测是否鼠标在方形内, 并且按下

我想先将题主的问题作一个一般化:如何在 Processing 中实现按任意顺序按下和释放任意个键,在此过程中永远只输出最后按下的那个还没释放的键的键值。这个问题的难点首先在于在 Processing 中变量 key 保存的始终是最后一个按下或释放的那个键的值。因此按下一个键不放,再按另一个键之后,第一个键的信息如果事先没有被程序员主动保存起来的话就会「丢失」掉再也找不回来了。其次是虽然 Processing 的官方文档说布尔型变量 keyPressed 是只要有键被按下它的值就是 true,但文档里没有提到的是当同时有多个键被按下后,只要有一个 keyRelease 事件发生,keyPressed 就不再为 true 了,即使此时仍有键没被松开。要解决上面提到的问题,我的做法是用 IntList 数据类型做一个堆栈,可以按下任意个键,按下的键值会按先后顺序入栈,其间也可以松开任意的键,松开的键就从栈中抽走,因而栈顶的键值就永远是最后按下的那个还没有松开的键值。然后通过判断栈的高度是否非零(不是通过 keyPressed 的值,原因前面已经提到)来确定是否打印栈顶的键值。这是程序:IntList pkeys = new IntList()//这个是用来堆栈的可变长度int型列表

void setup(){

size(400,300)

background(255)

}

void draw(){

printkey()

//println(pkeys)

}

void keyPressed() {

//当有新键被按下时在栈顶加入该键值

if(!pkeys.hasValue(int(key)))

pkeys.append(int(key))

}

void keyReleased() {

for(int i=pkeys.size()-1i>=0i--){

if(pkeys.get(i) == int(key)){

pkeys.remove(i)//当有键被释放时,到栈中找到该键值,从栈中去掉它

}

}

}

void printkey(){

if(pkeys.size()>0){ //当栈的高度不为零时输出栈顶的键值

print(char(pkeys.get(pkeys.size()-1)))

}

}

(这个程序理论上是对任意个按键都适用的,但实际情况下键盘上某些键一起按时是会发生硬件冲突的,经常是同时按下六个键后第七个键就无法起作用了。)


欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/bake/11427211.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-16
下一篇 2023-05-16

发表评论

登录后才能评论

评论列表(0条)

保存