0 0 7 6 - 小天才直线方程 - 【战】
本帖最后由 不二如是 于 2016-11-25 14:37 编辑这里咱们的神兽大人,还是扮演NPC哈~
稍微科普下直线方程斜截式(非水平或垂直):
y = mx + b , P(x1,y1) , Q(x2,y2),m =( x2 - x1) / (y2 - y1) , b代表y轴上截距
水平:
y = k,k常数
垂直:
x = k,k常数
程序流程如下:
拖动点一或者点二,神兽会自动说出直线方程哈~
为了方便演示,带入一个网格图,很明显,网格数字,和Scratch中背景图成比例关系:
(如果你忘了,背景图尺寸,传送门)
一个格子长:
480 / 20 = 2.4
宽:
360 / 20 = 1.8
知道这个主要为了,神兽按坐标转换方便些哈~
当用户一旦拖动点一或者点二那么,便会广播'开始啦'
然后开始。。。
好了,上程序~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
[*]神兽初
神兽,厉害了,虽然是NPC,但是许多判断条件都是要通过主脚本搞定:
斜率、截距、特殊斜率(+-1)、特殊截距(0) 、 输出方程、交互设置等
当用户点击绿旗时,最先启动的是点一、点二,神兽主脚本会接收他们发出的广播'开始啦'才进行哈。
[*]绘制直线
绘制直线部分很简单,只要获得点一、二坐标,连接二者就行哈~
当用户单击绿旗时,绘制角色设置画笔大小颜色,一旦接收到广播‘开始啦’,就做出如下事情:
-> 移动到点一的位置
-> 清空舞台之前留下的直线
-> 在移动到点二
-> 这样便绘制了一条连接二者的直线
[*]点一(一、二雷同)
点一、二脚本除了坐标不一样外,均一样,就拿一举例子(可以优化,你有什么好办法?快来留言哈{:10_303:} )
点的脚本都能将自身的坐标定位到网格的交点。
一旦用户拖动,便立刻广播'开始啦'
注意一点哈,下移鼠标,那个翻译有点诡异,先看下帮助文档:
这个是用来判断鼠标是否按下的,不要被翻译迷惑。
下移鼠标 = 下按鼠标
这个侦测模块表示:
在舞台任意位置,只要鼠标点击就触发!
那么,上面那个判断就是:
当点一被点击一下,便执行下面的脚本哈~
坐标转网络就是最开始那个公式,不是重点哈,自己理解:
[*]神兽终
神兽NPC接下来就是重点啦!
现在神兽,接收到消息'开始啦'
然后就要开始进行判断:
-> 两点坐标相同,提示:“相同点”
-> 两点x坐标同,提示:“垂直线 , x = 常数”
-> 两点y坐标同,提示:“水平线 , y = 常数”
->非以上三点,就可以正常画出 y = mx + b 直线方程
接下来就是方程参数、展示方式两个自定义模块编写。
方程参数,就是用来求解m(斜率)、b(截距)的哈,聪明如你就不用告诉你怎么求了吧:
参数也有两了,套进方程即可,但是!
方程除了最上面的三种情况外,还有:
m为1、-1
b 为 0!
最底下那个颜色判断,完全是为了提高用户体验!
当用户画线,碰到神兽时,提高一点游戏乐趣哈~
很像按键精灵{:10_256:} 小人 发表于 2016-11-25 13:31
很像按键精灵
哪里像?{:10_254:} {:10_266:}{:10_266:}{:10_266:}{:10_266:} zrc5752579 发表于 2016-11-29 14:19
{:10_303:} 一次函数
页:
[1]