User interface 我如何在我的处理程序上创建一个按钮,当单击该按钮时,会显示更多图片?

User interface 我如何在我的处理程序上创建一个按钮,当单击该按钮时,会显示更多图片?,user-interface,button,processing,User Interface,Button,Processing,我正在为我的计算机科学课设计一个电子游戏。到目前为止,一切正常,游戏包括将图片拖动到屏幕的某些部分。但是,该窗口不够大,无法包含所有图像,因此我想创建一个“下一步”按钮,该按钮将在同一窗口中打开项目的新页面,同时也允许拖动的图像保留在旁边。基本上,我只希望屏幕的一部分能够移动到一个新的帧。有点像一个菜单按钮,它会引导程序进入一个新的“场景” 我在和eclipse合作 import processing.core.PApplet; 导入加工.core.PImage; 导入java.awt.even

我正在为我的计算机科学课设计一个电子游戏。到目前为止,一切正常,游戏包括将图片拖动到屏幕的某些部分。但是,该窗口不够大,无法包含所有图像,因此我想创建一个“下一步”按钮,该按钮将在同一窗口中打开项目的新页面,同时也允许拖动的图像保留在旁边。基本上,我只希望屏幕的一部分能够移动到一个新的帧。有点像一个菜单按钮,它会引导程序进入一个新的“场景”

我在和eclipse合作

import processing.core.PApplet;
导入加工.core.PImage;
导入java.awt.event.MouseEvent;
@抑制警告(“串行”)
公共类Step1扩展了PApplet
{
//卷曲棕色
浮点数x=900;
浮动y=30;
浮动图像宽度=175;
浮动图像高度=175;
//长褐色
浮动x2=800;
浮动y2=30;
//皇家礼服
浮动x3=845;
浮动y3=170;
浮动图像宽度2=400;
浮动图像高度2=400;
//花裙
浮动x4=850;
浮动y4=145;
//黑粉色连衣裙
浮点数x5=600;
浮动y5=170;
//黑直
浮动x6=700;
浮动y6=30;
布尔mouseInImage=false;
布尔mouseInImage2=false;
布尔mouseInImage3=false;
布尔mouseInImage4=false;
布尔mouseInImage5=false;
布尔mouseInImage6=false;
皮马杰;
//头发
PImage curlyBrown=loadImage(“CurleyBrown.png”);
PImage longBrown=loadImage(“longBrown.png”);
PImage blackStraight=loadImage(“blackStraight.png”);
//服装
PImage blackAndPinkDress=loadImage(“blackAndPinkDress.png”);
PImage blackDress=loadImage(“blackDress.PNG”);
PImage BlackStripesAddress=loadImage(“blackStripesAddress.png”);
PImage flowerDress=loadImage(“flowerDress.png”);
PImage sparklyDress=loadImage(“sparklyDress.png”);
PImage royalDress=loadImage(“royalDress.png”);
公共作废设置()
{
大小(1024576);
背景(255、255、255、255);
img=loadImage(“Body1.png”);
}
公众抽签()
{
背景(255、255、255、255);
图像(img,250,50);
图像(皇家礼服,x3,y3);
图像(花卉服饰,x4,y4);
图像(黑色条纹连衣裙,680,70);
图像(blackDress,600,65);
图像(黑色和粉红色,x5,y5);
图像(SparklyAddress,500150);
//头发
图像(longBrown、x2、y2、图像宽度、图像高度);
图像(curlyBrown、x、y、imageWidth、imageHeight);
图像(blackStraight、x6、y6、125、145);
}
公共无效鼠标按下(MouseEvent e)
{
if(mouseX>x&&mouseXy&&mouseYx2&&mouseXy2&&mouseYx3&&mouseXy3&&mouseYx4&&mouseXy4&&mouseYx5&&mouseXy5&&mouseYx6&&mouseXy6&&mouseY

}主要有两种方法

方法1:绘制所有图片,并提供滚动方式。想想滑杆是如何工作的

下面是一个使用点而不是图像的愚蠢示例:

ArrayList points=new ArrayList();
无效设置(){
大小(500500);
对于(int i=0;i<1000;i++){
添加(新的PVector(随机(1000)、随机(高度));
}
}
作废提款(){
背景(0);
对于(PVector点:点){
椭圆(点x,点y,10,10);
}
}
按下void键(){
if(keyCode==左){
对于(PVector点:点){
第x点--;
}
}else if(keyCode==右){
对于(PVector点:点){
point.x++;
}
}
}
本例移动了所有的点,但您可以调用
translate()
。您还可以查看为您实现滑块的GUI库

事实上,Processing附带了一个如何实现滑块的示例。在PDE中,转到
文件>示例
,然后在示例窗口中转到
主题>GUI>滚动条

方法2:将图片分成几页,然后一次画一页

另一个小例子:

ArrayList pageOne=新建ArrayList();
ArrayList pageTwo=新的ArrayList();
布尔值drawPageOne=true;
无效设置(){
大小(500500);
对于(int i=0;i<500;i++){
添加(新的PVector(随机(宽度)、随机(高度));
第二页添加(新的PVec)