-
VisualFreeBasic游戏趣味编程_4.7_按键切换效果
利用do循环和IsKeyPress()函数,可以实现每次按键后,重新生成随机颜色。另外,利用Randomize()函数对随机函数初始化,避免每次运行的随机颜色都一样。Sub游戏执行过程(hWndFormAshWnd)DimggAsyGDI=hWndFormgg.ClsBGR(180,180,180)'GDI的颜色值。gg.Pen0,0'设置线条为没有DimiAsLong,jAsLong,度AsLo… -
VisualFreeBasic游戏趣味编程_4.6_HSB颜色模型
除了RGB颜色模型外,还有一种根据颜色的直观特性创建的颜色模型——HSB,如图4-12所示。H是Hue的首字母,表示色调,取值范围为0~360,刻画不同的色彩,比如红色为0,绿色为120,蓝色为240;S是Saturation的首字母,表示饱和度,取值范围为0%--100%,表示混合了白色的比例,值越高颜色越鲜艳;B表示亮度度,取值范围为0%--100%,等于0时为黑色,等于100时最明亮。输入并… -
VisualFreeBasic游戏趣味编程_4.5_循环的嵌套
for循环语句可以嵌套,输入并运行以下代码:Sub游戏执行过程(hWndFormAshWnd)DimAsLongi,jDim输出AsStringFori=1To9输出=""Forj=1To9输出&=Right(""&Str(i*j),3)NextPrint输出NextEndSub在VFB上,点击工具栏最后一个,选择带控制台,这是为了更好的查看打印输出程序运行后输出:(带控制台后,输出在控制台)代码… -
VisualFreeBasic游戏趣味编程_4.4_for循环语句
为了绘制完整的“旋转蛇”错觉图片,我们可以利用for循环语句。首先输入并运行以下代码Sub游戏执行过程(hWndFormAshWnd)DimiAsLongFori=1To5PrintiNextEndSub程序运行后输出:for语句中,首先执行i=1;。然后判断i -
VisualFreeBasic游戏趣味编程_4.3_绘制一个扇形单元
下图展示了“旋转蛇”错觉图片的一个基本单元,一般由两组共4种颜色组成。人脑处理高对比度颜色(比如,黑与白)的时间,要比处理低对比度颜色(比如,红与青)短很多。我们会先感知到图中的黑白图案,后感知到红青图案,这个时间差会让图片产生相对运动的效果,所以我们会有图片旋转的错觉。先画一组:Sub游戏执行过程(hWndFormAshWnd)DimggAsyGDI=hWndFormgg.ClsBGR(180,… -
VisualFreeBasic游戏趣味编程_4.2_RGB颜色模型
当我们需要在代码中输入颜色时,点击这个按钮出现的颜色对话框,点击一个颜色即可,颜色选择RGB会在代码处,自动插入代码提示:代码中函数是BGR(r,g,b)参数顺序是r,g,b,另外函数名RGB(b,g,r)需要反过来参数,结果是一样的。因此我选择了,参数顺序习惯,用了BGR(r,g,b)根据三原色原理,任何色彩均可由红(Red)、绿(Green)、蓝(Blue)3种基本颜色混合而成,如图所示。代码… -
VisualFreeBasic游戏趣味编程_4.1_绘制扇形
“旋转蛇”错觉图片可由不同颜色的扇形组合而成。VFB里并没有画扇形,需要自己写一个过程,照抄下面代码即可。Sub画扇形(ggAsyGDI,圆心xAsLong,圆心yAsLong,半径AsLong,开始角度AsLong,结束角度AsLong,填充颜色AsLong)DimAsLong圆x,圆y,圆r,圆b,开始x,开始y,结束x,结束yDimpiAsSingle=3.1415926/180圆x=圆心x… -
VisualFreeBasic游戏趣味编程_第4章_“旋转蛇”错觉
在本章我们将讲解如何绘制非常神奇的错觉图片,如图4-1所示,静止的圆盘看起来却有在转动的错觉。本章首先介绍了扇形函数和RGB颜色模型,解析了一个基本单元的绘制方式;然后介绍了for循环语句和循环的嵌套,解析了多层圆盘的绘制方式;最后介绍了HSV颜色模型,并利用随机函数和按键切换,解析了丰富多变的“旋转蛇”错觉图案的绘制方式。 -
VisualFreeBasic游戏趣味编程_3.7_避免空中起跳
在这一节,我们处理一个游戏中的小bug,避免小球在空中还能继续起跳。首先,定义变量isBallOnFloor记录小球是否在地面上,并初始化为1,表示开始小球在地面上:DimisBallOnFloorAsLong=1'小球是否在地面上,避免重复起跳当用户按下空格键时,必须同时满足isBallOnFloor为1,才让小球起跳。起跳后,设定isBallOnFloor=0,表示目前小球不在地面上了:IfI… -
VisualFreeBasic游戏趣味编程_3.6_得分的计算与显示
定义整型变量记录游戏的得分,并初始化为0:DimscoreAsLong=0'得分当方块跑到画面最左边时,得分增加1:If(rect_left_x