Processing编程入门-02——添加图片 小游戏

在工程文件夹中新建data文件夹
将要使用的图片拖入其中
并使用代码调用图片

//定义图片变量
PImage bunny;
PImage carrot;

void setup(){
    
    
    size(800,800);
    //加载图片
    bunny=loadImage("image.png");
    carrot=loadImage("carrot.png");
}

void draw(){
    
    
    //Tips:background具有每帧清空前面图片的功能
    background(0,255,0);
    //显示图片 图片变量名,X,Y
    image(bunny,0,0);
    //显示图片 图片变量名,X,Y,width,height
    image(bunny,50,50,100,100);
    
    //生成一个50到300之间的随机浮点数
    float random1=random(50,300);
    float randomX=random(0,800);
    float randomY=random(0,800);
        
    //将图片锚点设置为图片的中心点
    imageMode(CENTER);
    image(bunny,mouseX,mouseY,200,200);
    image(carrot,mouseX,mouseY,200,200);
    
    //在随机位置生成一个随机大小的图片
    image(bunny,randomX,randomY,random1,random1);
}

小游戏示例

PImage tomato;
int xposT=100;
int yposT=100;
Boolean collision=false;

void setup(){
    
    
    size(800,800);
    tomato=loadImage("tomato.png");
}

void draw(){
    
    
    background(0,0,0);
    image(tomato,xposT,yposT,200,200);
    strokeWeight(5);
    stroke(255,255,255);
    line(mouseX+100,mouseY-200,mouseX=50,mouseY+100);
    
    yposT+=2;
    
    if(yposT>800){
    
    
        yposT=0;
    }
    
    //dist 两点之间的距离 点一X,点一Y,点二X,点二Y
    float distance=dist(mouseX+100,mouseY-200,xposT,yposT)
    
    //碰撞检测
    if(distance<90){
    
    
        println("碰撞")
        collision=true;
    }
    
    //如果碰撞上了
    if(collision==true){
    
    
        //将tomato固定在线条上
        xposT=mouseX+50;
        yposT=mouseY-100;
        //替换tomato的图片
        tomato=loadImage("expTomato.png");
    }
}

本贴代码示例参考B站UP主OF创意编程的付费课程次世代必备黑科技:创意编程指南

猜你喜欢

转载自blog.csdn.net/Dugege007/article/details/125584990