最新消息:

Scratch:实现骰子在滚动时候的轨迹

Scratch 少儿编程 3397浏览 0评论

友情提示:视频教程观看时请手动设置清晰度。

 

简   介

这里     骰子在地上滚动时候,总会有一个面面向地面,这个程序就是求面向地面的面都是什么

 

Scratch:实现骰子在滚动时候的轨迹

     01 八卦几句

Scratch:实现骰子在滚动时候的轨迹

        上周跟小朋友说骰(shai)子的时候,小朋友告诉我说这个叫tou(三声)子。一查字典还真是。看来汉语也在不断的演进中。不知道过几年以后,会不会常常说白字。。。。

 

 

Scratch:实现骰子在滚动时候的轨迹 

     02 程序实现

Scratch:实现骰子在滚动时候的轨迹

        程序包括后台数据以及前台呈现两部分。后台数据就是记录骰子6个面的当前状态,以及向前、向后、向左和向右四个方向运动之后的状态是什么样的。前台呈现的是在移动到哪个位置留下什么标记,其所依据的基础还是后台数据。这个程序本来想引导小朋友来做,无奈设计的知识以及操作太繁琐,也就没让小朋友来实现。

 

程序效果:

 

 

Scratch:实现骰子在滚动时候的轨迹 

     03 后台实现

Scratch:实现骰子在滚动时候的轨迹

 

Scratch:实现骰子在滚动时候的轨迹
1F
骰子数据列表

Scratch:实现骰子在滚动时候的轨迹

        我们使用了一个名为dice的含有6个元素的列表来表示骰子当前的状态,这六个数据依次是上、下、左、右、前、后。

        我们创建了四个功能模块,即向前滚、向后滚、向左滚和向右滚。每一个功能模块既包含了后台数据处理,即确定滚之后骰子列表的6个元素值,又包括了前台数据的处理,即

  • 滚之后应该显示那个面(使用costume来实现),

  • 当前位置(change x和y),

  • 留下印记(stamp),这个留下印记仅对最下的那个面有用

  • 以及发消息通知其他面进行更改显示和位置信息

Scratch:实现骰子在滚动时候的轨迹

Scratch:实现骰子在滚动时候的轨迹

Scratch:实现骰子在滚动时候的轨迹 

     04 前台实现

Scratch:实现骰子在滚动时候的轨迹

 

Scratch:实现骰子在滚动时候的轨迹
1F
显示的4个面

        虽然骰子有6个面,但是在平面上也就能显示4个面,即前面、下面、一个侧面和上面。对于这4个面的每一个面,都有6个costume。因为每一个面都有可能显示1到6中的某一个数字。

Scratch:实现骰子在滚动时候的轨迹

        对于如何实现当前的正确的面,先把这个面变成第一个,然后读取当前应该显示的数值n,执行n-1次变换costume。这里的item2对应的骰子的下面。

Scratch:实现骰子在滚动时候的轨迹

Scratch:实现骰子在滚动时候的轨迹
2F
上面的代码实现

Scratch:实现骰子在滚动时候的轨迹

 

Scratch:实现骰子在滚动时候的轨迹
3F
下面的代码实现

Scratch:实现骰子在滚动时候的轨迹

Scratch:实现骰子在滚动时候的轨迹

 

Scratch:实现骰子在滚动时候的轨迹
4F
前面的代码实现

Scratch:实现骰子在滚动时候的轨迹

 

Scratch:实现骰子在滚动时候的轨迹
5F
侧面的代码实现

Scratch:实现骰子在滚动时候的轨迹

您必须 登录 才能发表评论!