网上有许多小蝌蚪的游戏。其中有一游戏,小蝌蚪开始很小,其四处游动吃蚊子幼虫,吃一个蚊子幼虫其身体长大一点,长大到某尺寸变为青蛙。本例实现其部分功能,使用大背景,尺寸为960 * 720,将其分割为4个480 * 360的小图像,用这4个图像建立4个角色,它们协同工作实现大背景,使小蝌蚪能游到960 * 720大图像的任何位置。用这个例子说明实现大背景的步骤。
游戏有6个角色:小蝌蚪、蚊子幼虫和4个背景角色,每个背景角色大小都是480 * 360,名称分别是:左上图、右上图、左下图和右下图,分别代表960 * 720的大图像的4块小图像。前两个角色每个都有两个造型,以实现动画。见下图。

小蝌蚪的所有脚本如下图。“重复执行”脚本中头两句是让小蝌蚪跟随鼠标移动,因此小蝌蚪所在位置坐标就是鼠标的坐标。这里首先要找到小蝌蚪移动和背景角色移动的关系。由于4个背景角色位置有固定关系,因此,先找小蝌蚪移动(即鼠标移动)和左上图移动的关系。这里涉及到3个角色:显示窗口、小蝌蚪和左上图角色。它们共用一个坐标系。显示窗口中心坐标为(0,0),它不会移动。小蝌蚪只能在显示窗口中移动。背景角色移动方向和小蝌蚪移动方向相反,使小蝌蚪能游到960 * 720大图像的任何位置。当小蝌蚪位置在显示窗口中心坐标为(0,0)时,960 * 720大图像中心也应在(0,0),此时左上图中心坐标为(-240,180)。当小蝌蚪向显示窗口左侧移动,左上图向显示窗口右侧移动,当小蝌蚪移到显示窗口的左边界(X坐标-240),应该碰到大图像的左边界,左上图也向右移动240,因此其此时X坐标为0。同理小蝌蚪从坐标(0,0)移到移到显示窗口的右边界(X坐标240),左上图向左移动240,此时X坐标为-480。参看下图中的注释,能更清楚的看到在这3个位置上,小蝌蚪X坐标(即鼠标X坐标)和左上图的X坐标的关系。由此得出两者关系为:左上图X坐标=-240-鼠标X坐标。参见注释中两者3点的Y坐标,可推出左上图和鼠标Y坐标之间关系为:左上图Y坐标=180-鼠标Y坐标。后边4个判断脚本,是限制背景在一定范围内移动。例如第1个判断脚本,当左上角图形中心X坐标=0后,就不能继续右移,否则显示窗口左侧将出现一竖条空白。由于从960 * 720大图像中裁剪出4个480 * 360小图像不精确,实际上本例在小蝌蚪移到左右两侧时还会在两侧出现一竖条空白。解决的方法是使脚本中数字480变小。

左上图、右上图、左下图和右下图脚本如下。所有“当绿旗被单击”脚本是使自己移到初始位置。右列是它们接收到移动事件的响应脚本。它们根据变量“左上图X”和“左上图Y”移动。无论这4个图移到任何位置,它们之间有固定关系,例如,左上图和右上图的中心的X坐标相差480,Y坐标相同。这里的数值不是480和360,也是由于从960 * 720大图像中裁剪出4个480 * 360小图像不精确,使4个小图像两两之间出现缝隙,解决的办法也是使脚本中数字480或360减小。有一点需要说明,裁剪不精确,图像横竖线可能会错开。因此从960 * 720大图像中精确裁剪出4个480 * 360小图像是很重要的。

蚊子幼虫的所有脚本如下。

本游戏还可以增加功能,如记分系统,吃一条蚊子幼虫加一分。还可使虫子尺寸随机改变,蝌蚪去吃尺寸比其大的虫子,减一分。蝌蚪达到一定分数变为青蛙,分数减到某值,蝌蚪死亡等等。

scratch游戏“小蝌蚪成长”用大背景(分割法)相关推荐

  1. 用scratch编写游戏“小蝌蚪成长”中使背景大于480*360

    网上有许多小蝌蚪的游戏.其中有一游戏,小蝌蚪开始很小,其四处游动吃蚊子幼虫,吃一个蚊子幼虫其身体长大一点,长大到某尺寸变为青蛙.在这个例子中希望使用大背景,尺寸为960 * 720.如将其直接放入sc ...

  2. pygame游戏_小蝌蚪吃蚊子幼虫成长

    网上有许多小蝌蚪的游戏.其中有一游戏,小蝌蚪开始很小,其四处游动吃蚊虫(蚊子幼虫),吃一个蚊虫后其身体长大一点,长大到某尺寸变为青蛙.本例实现其部分功能.游戏有3个角色:小蝌蚪.蚊虫和背景角色.小蝌蚪 ...

  3. 【雕虫小技第7篇】scratch编程技巧之如何实现背景的上下滚动!

    点击上面微信号关注我关注我哟每天中午12:00-2:00定期推送文章,喜欢的可以设置星标,并分享点赞我们的文章,非常感谢大家的支持,您的点击的在看就是我们的动力! 关于实用Scratch编程小技巧我们 ...

  4. 样本驱动的半自动图像集前背景分割_爱学术—免费下载

    [摘要]图像集的前背景分割是近年来图像处理与图形学领域的一项热点研究工作.针对图像集中的图像逐个进行交互分割会涉及大量的用户操作,导致效率低下,而联合分割方法通常局限于处理具有相似前景的图像集,且因需 ...

  5. 消遣时间的小程序有哪些?这3个好玩又有趣的游戏小程序送给你!

    游戏是我们生活中必不可少的一部分,不仅能让我们心情得以放松,还是能在无聊的时候消遣时间的法宝,那么下面让小编介绍3个好玩又有趣的游戏给大家! 1.欢乐切水果 欢乐切水果是一个休闲的游戏小程序,其界面非 ...

  6. 推荐3个游戏小程序,让你整个暑假都充实!

    暑假宅在家里太无聊,有什么可以消遣时间的吗?那么小编向你推荐3个游戏小程序,让你整个暑假都充实! 1.奔跑吧彩球 奔跑吧彩球是一款休闲动作类游戏小程序.游戏规则简单易懂,在一个类似跑道的环境下,代表玩 ...

  7. OpenCV视频目标跟踪及背景分割器

    目标跟踪 本文主要介绍cv2中的视频分析Camshift和Meanshift. 目标: 学习Meanshift算法和Camshift算法来寻找和追踪视频中的目标物体 Meanshift算法: mean ...

  8. 利用MOG背景分割器实现物体追踪

    相比与基本背景差分器,MOG能够不断更新背景图像,从而能够更好地应对摄像头的运动以及光线变化带来的影响. 简而言之,原来的算法太过死板,从头到尾都是用的同一个背景图像用于对比,而MOG会随时间变化,更 ...

  9. 小T成长记-操作系统篇1-一条小小的除法指令引起的翻车事故

    1 事故背景 人物:小T(研发中心-操作系统开发工程师):小S(产品开发部-软件工程师) 背景:公司正在联合开发基于MIPS架构的产品.研发中心负责操作系统平台开发,产品开发部负责业务逻辑开发.目前操 ...

最新文章

  1. centos6.3 nginx php,CentOS 6.3 编译安装Nginx+MySQL+PHP
  2. 起底在线教育行业的技术霸主
  3. matlab的日期当循环量,R语言与matlab循环时间对比
  4. 「Python」超简单!Python返回矩阵最大元素/最小值坐标,三行搞定!(更新:一行搞定!)
  5. C代码中的命名方式总结和改进
  6. 患者是否应该主动关注医疗知识
  7. 现代软件工程 结对编程 (II) 电梯调度
  8. 单目深度估计方法:现状与前瞻
  9. pandas 使用把dataframe变为series
  10. 论文趣读:人工智能里程碑?回顾2015年登上Nature的DQN(全文翻译+批注)
  11. for循环语句例子 python_Python for循环语句一般形式例子
  12. Clickhouse 数据库连接工具——DBeaver
  13. 查看Android应用签名信息
  14. 常用链接cg 和game
  15. jchdl - GSL实例 - Shifter
  16. php栏目一二级排序,灵动标签完美实现当前栏目高亮-支持二级栏目及内容页及栏目排序...
  17. C语言:正负交替的问题
  18. python使用正则表达式代码_python如何使用正则表达式
  19. ROSALIND答案——写在前面
  20. docker quick start

热门文章

  1. 聊一款简单且精妙的微前端框架 ice stark(上)
  2. Hive tpc-ds 性能测试
  3. Office EXCEL 中单元格怎么打斜线
  4. 了解计算机是如何工作的
  5. 如何通过低门槛的途径实现量化操作股票?
  6. 浅谈二维码和一维码有何区别
  7. Cocos2dx 小技巧(三)Label的换行
  8. 【Kafka源码】ReplicaManager启动过程
  9. ai讲师人工智能讲师计算机视觉老师叶梓:计算机视觉领域的自监督学习模型——MAE-13
  10. WIFI6 feature