游戏效果
画面是怎么动起来的
翻转动画
我不知道孩子们是否翻过书。当我们以非常快的速度翻书时,由于相邻的两页图片连续不一,就会产生动画效果。这个例子告诉我们:
动画实际上是由一系列相似但不同的画面快速切换而成的,包括:
运动图像开关
位置的移动
的位置最简单的动画可以这样制作:
每个人在一页画一个吃豆人,然后在下一页画同样的吃豆人,只是球在纸上的位置不同。重复步骤2,直到绘图足够。因为吃豆人每次的位置都不一样,所以快速转弯时会有移动效果。
因为PAC-man的位置可以改变,所以我们用变量来存储它的位置。
00-1010在奔跑的吃豆人当中,我们只用了两张图片。吃豆人挤嘴的效果就是在这两张图之间不断切换形成的。
用C画上面两个Pac-Man比较复杂,所以我们用其他方式画完两个Pac-Man后,保存为图片,然后需要把图片加载到程序中。
00-1010吃豆人在跑步的时候只做了两件事。整个过程其实就是这两件事的一个循环,也就是1,2,1,2,1,2.
在前一个位置的基础上向右移动10个单位。张嘴或者闭嘴,也就是呈现一张图片。
电脑擅长做重复性的事情,只要你通过正确的句子告诉他们怎么做,做了多少遍。
for循环——重复指定次数。我们让Pac-Man图片一次向右移动10,奇数次移动时张开嘴,偶数次移动时闭上嘴。做50次。你可以用for循环写这个。
00-1010以下是我们的完整代码。你学会了吗?
# include graphics . h # include conio . h # include stdio . hint main(){ initgraph(1000,1000);int left=10int top=50setbkcolor(WHite);clear device();IMAGE img1,img2loadimage(img1,L ' c : \ \ Users \ \ ginger \ \ Desktop \ \ ball . png ',200,200);//加载图片,使用l '绝对路径' loadimage (img2,l ' c : \ \ users \ \ ginger \ \ desktop \ \ ball 2 . png ',200,200);for(int I=1;i=50I){ if(I % 2==0){ clear device();putimage(左,上,img 1);} else if(I % 2==1){ cleardevice();putimage(左,上,img 2);}左=10;睡眠(150);} _ getch();close graph();返回0;}
内容来源网络,如有侵权,联系删除,本文地址:https://www.230890.com/zhan/47705.html