第三周作业:程序模块开发遇到的问题及部分解决办法
2016-03-22 15:54
495 查看
问题一:如何实现人物在地图上的碰撞。
猜想:首先得建立一个地图,地图分为三层,第一层为人物脚下的事物(能穿过),第二层为同人物在一平面的事物(检测碰撞),第三层为人物头上的事物(暂时无),创建三个二维数组,分别对应3层地图,当地图上有事物时标记为1,没有事物时标记为0;人物在地图上移动时候,与第二层地图会发生碰撞导致无法移动,检测下个移动方格的数组是否为1,为1说明有事物不能移动,否则能移动。
问题二:如何实现人物在地图上的移动。
猜想:建立两个分线程,一个线程检测键盘上下键的按下与释放,按下时设为true,键弹回设为false,当布尔值为true时,标记人物所在位置的坐标值在地图上以一定速率变化实现人物的走动。左右键与上下键类似。
问题三:怎么样才能看到人物是跑动的而不是一帧一帧卡过去的或者是“瞬移”过去。
猜想:首先得画4张人物的图,一张是迈左腿,一张是左腿回到原位,然后迈右腿,右腿回到原位。将地图按像素坐标或一些小的距离分类,当角色移动时,循环播放4张图,利用视觉暂留,这样看起来人物是在跑动的。
猜想:首先得建立一个地图,地图分为三层,第一层为人物脚下的事物(能穿过),第二层为同人物在一平面的事物(检测碰撞),第三层为人物头上的事物(暂时无),创建三个二维数组,分别对应3层地图,当地图上有事物时标记为1,没有事物时标记为0;人物在地图上移动时候,与第二层地图会发生碰撞导致无法移动,检测下个移动方格的数组是否为1,为1说明有事物不能移动,否则能移动。
问题二:如何实现人物在地图上的移动。
猜想:建立两个分线程,一个线程检测键盘上下键的按下与释放,按下时设为true,键弹回设为false,当布尔值为true时,标记人物所在位置的坐标值在地图上以一定速率变化实现人物的走动。左右键与上下键类似。
问题三:怎么样才能看到人物是跑动的而不是一帧一帧卡过去的或者是“瞬移”过去。
猜想:首先得画4张人物的图,一张是迈左腿,一张是左腿回到原位,然后迈右腿,右腿回到原位。将地图按像素坐标或一些小的距离分类,当角色移动时,循环播放4张图,利用视觉暂留,这样看起来人物是在跑动的。
相关文章推荐
- 数据库——数据模型
- Beaglebone Black教程使用SSH通过USB和因特网连接Beaglebone Black
- java基础--Class.forName()、Class.forName().newInstance() 、New 三者区别!
- javascript仿京东导航左侧分类导航下拉菜单效果
- 全面剖析CSS Position定位
- 细说AngularJS directive
- day03 dom操作
- 93. Restore IP Addresses | Java最短代码实现
- 贪心算法—Problem F
- .NET并行编程 - 并行方式
- [LeetCode]-DataBase-Consecutive Numbers
- word2007基础研究(一)-调节段落的行距与间距
- python中文乱码
- 【Matlab开发】MATLAB编译C/C++代码
- Zend加密服务器配置以及加密工具的使用
- RecyclerView的简单用法
- kali中wireshark打开后错误
- NET牛人应该知道些什么?(瞬间觉得自己弱爆了)
- 在 Android 上使用 RxNetty
- 数据存储——SQLite