TI-BASIC 计算器游戏开发之文字、图形、音频教程 III:按键控制图形移动

TI-BASIC 计算器游戏开发之文字、图形、音频教程 III:按键控制图形移动

【第三部分】
按键控制图形移动

很好,现在又一个问题解决了,接下来讨论一下如何通过按键来控制你的图形的运动方向,就像很多游戏里那样,按左键你的图形朝左走,按右键你的图形朝右走,其实有了上面动态图形的基础,这个功能是很好实现的,我们上面实现的动态图形是当程序一旦开始运行,图形便自动开始按照参数值的设置进行指定方向的移动,现在要做的就是加入按键的动作和获取,你按一个键,程序获取到你所按键的键值,然后开始判断,这个键是多少?比如337表示向左,340表示向右,那么如果是337,就执行向左的移动,如果是340就执行向右的移动,先做左右键的代码如下:

Loop
 getKey()->kValue
  while kValue=0
   getKey()->kValue
  EndWhile
 XorPic curPic,raw,col
EndLoop

这里有一个我写好的完整的程序,可以参考一下,需要注意的是在这个程序里调用了一个变量名为 p1 的图形变量,这个图像变量是一个20*16 的点阵图形,在运行这个程序前,你可以执行 StoPic 语句,从当前屏幕的任意位置上截取一块 20*16 大小的图形,保存为 p1 ,具体的命令如下: 

StoPic p1,0,0,16,20

这个命令是从左上角坐标为 0,0 的位置开始,高20个像素点,宽16个像素点的矩形框内的屏幕图形保存到图形变量 p1 中。

是不是必须用方向键呢?根据上面的算法原理,只要是TI计算器能够识别出来的键值都可以,比如我们增加4和6作为左右键,首先需要了解4和6键对应的键值是多少,程序可以修改成如下形式:

(这部分还没写,后面补)

很好,我们的图形已经可以通过按键来自由地满屏幕移动了,忽然发现几个新的问题,第一是一旦图形移动到右背景图形的位置,那么背景图形也被擦掉了,第二是因为我们采用的是保存好的图形变量按矩形区域绘制的方式,所以当我们移动到某些有背景图形的位置时,图形变量点阵图中的空白区域会盖住背景图形,结果会显示一个矩形的框,貌似有些不太好看,怎么办呢?如何让图形变量的空白区域不影响背景显示?第一个问题可以在绘制图形时先保存原来的背景变量,有相关的函数来实现,代码如下:
(这部分还没写,后面补)

第二个问题现在想到这么几种办法:
1、使用 PxlOn 函数只绘制有像素点的地方,然后循环改变其坐标,这种方法适用于小图形;
2、使用OrPix函数来操作?待验证
3、保存好背景图形,执行PxlChg等函数?待验证

转载于:https://my.oschina.net/freeblues/blog/64610

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值