融入动画技术的交互应用之好玩儿的游戏(屁民科普)
写在前面:本学期博主上了互动媒体设计课,这门课是真的让博主觉得编程是个让人享受的事情233~所以来分享一下博主上这门课,编的两个小程序。老师希望我们基于代码本色这本书,制作一个应用。这本书写的非常详细,推荐有兴趣的童鞋可以读一读(^ _ ^)
使用processing实现两个小游戏~
第一个小游戏:模拟flappybird
(一)设计思路
① 想做点儿有意思的,所以想到如果单纯的制作应用,感觉写起来没有动力。于是想到了高中玩儿的游戏,flappy bird
因为不是用unity实现的,所以有的地方还是需要思考一下的。
(二)界面:
因为这个游戏不太好截图,所以我这里只放了三张图片合起来的gif
如果你碰到了障碍物,就会有flappy bird的碰撞的声音(我从网上下载的flappy bird的素材库,里面有声音和图片。想要的可以私戳我),球会掉下去并且会弹出如下界面:
(三 ) 操作指南:
1、玩法 :
(1)使用鼠标左键,点击界面,躲避障碍物。如果碰到障碍物则弹出失败界面。
(2)重新开始:在失败界面中,点击retry,重新开始游戏。
2、 组成部分:
(1)小球
(2)移动的障碍物
(3)记分板
(4)失败界面
① 小球:
这里我的小球,在x方向是静止的,即水平方向不发生运动,速度只在竖直方向上改变,简化计算。
class bumpball
这个类当中有两个函数:
(1)moveup()
这里是小球在自然状态下做自由落体运动
y_bump+=0.5*gravity*bump_t*bump_t;
bump_t+=0.08;
如果鼠标点击界面,小球会弹起
dv=up_force/m-gravity;
y_bump=int(y_bump-0.5*dv*bump_t*bump_t);
(2)stopball()
如果碰到障碍物,就直接下落
y_bump+=0.5*gravity*bump_t*bump_t;
bump_t+=0.08;
② 障碍物
在障碍物类当中,设置了矩形的x y 坐标,障碍物之间的间距,障碍物的宽度和高度
float []yb2=new float[b_num];
float []xb2=new float[b_num];
float []gap=new float[b_num];
float hb1,wb1;
同样设置了两个函数,一个是控制障碍物的移动,一个是停止。