创意编程-创意自画像

这篇博客展示了通过创意编程创作的动态自画像,利用鼠标控制眼珠、眉毛、嘴巴、手臂和下雪密度,实现不同交互效果。作品中,角色的情绪随着下雪密度变化,下雪越多情绪越显欢快。作者详细解释了各部分的实现,如fill(), stroke(), line(), bezier()等函数的运用,并分享了星星和雪花飘落效果的参考资料。虽然作者认为自己的美术基础不足,但认为这个项目在交互性和动态效果上有一定趣味性。" 122833128,7327838,手写大数乘法:字符串相乘算法解析,"['算法', '动态规划']
摘要由CSDN通过智能技术生成

作品展示

展示

作品特点

  1. 鼠标控制眼珠和眉毛的朝向(始终朝向鼠标位置)
  2. 鼠标控制嘴巴大小(根据鼠标Y轴方向的位置决定,鼠标从下到上,嘴巴从小到大)
  3. 鼠标控制手挥动(根据鼠标Y轴方向的位置决定,鼠标从下到上,手臂从下到上挥动)
  4. 鼠标控制下雪的密度(根据鼠标Y轴方向的位置决定,鼠标从下到上,下雪密度从小到大)
  5. 整体做出一个没下雪的时候情绪低落的样子,雪越大越开心的效果(大概吧)

函数作用说明

  1. 利用fill()函数控制填充颜色,noFill()不填充;stroke()函数控制边框颜色,strokeWeight()控制边框宽度,noStroke()无边框
  2. line()直线,bezier()曲线,ellipse()椭圆/圆,rect()矩形
  3. beginShape()->vertex()画顶点->quadraticVertex()画曲线顶点->endShape()自定义形状(主要用于画头发)
  4. translate()移动坐标原点,rotate()旋转坐标轴

源代码

let snowflakes = [];

function setup() {
   
  // put setup code here
  createCanvas(600,600);//创建画布
}

function draw() {
   
  // put drawing code here  
  background(139);//背景色设置为灰色 
  drawMe();
  drawSnow();
}

function drawMe(){
   
	
	drawClothes();//衣服
	drawStar(300,400,20,40,5);//星星
	drawLHand();//左手
	drawRHand();//右手
	
	noStroke();
	fill(255,228,181);//脸
	ellipse(300,200,200,200);
	fill(255,228,181);//耳朵
	ellipse(400,200,50,50);
	ellipse(200,200,50,50);
	drawEyes();//眼睛
	fill(255,150,122);//鼻子
	triangle(300,190,290,230,310,230);
	
	drawMouth();//嘴巴
	drawBrow();//眉毛
	drawHair();//头发
	drawGlasses();//眼镜
	
}

function drawEyes(){
   //眼睛
	noStroke();
	fill(255,255,255);
	ellipse(340,180,30,30);
	ellipse(260,180,30,30);
	var deltax=(mouseX-300)/300*7.5;
	var deltay=(mouseY-200)/400*8;
	fill(0);
	ellipse(340+deltax,180+deltay,15,15)
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值