不二如是 发表于 2016-11-24 16:33:28

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!



最底下那个颜色判断,完全是为了提高用户体验!

当用户画线,碰到神兽时,提高一点游戏乐趣哈~




小人 发表于 2016-11-25 13:31:16

很像按键精灵{:10_256:}

不二如是 发表于 2016-11-25 13:44:24

小人 发表于 2016-11-25 13:31
很像按键精灵

哪里像?{:10_254:}

zrc5752579 发表于 2016-11-29 14:19:02

{:10_266:}{:10_266:}{:10_266:}{:10_266:}

不二如是 发表于 2016-11-29 14:32:57

zrc5752579 发表于 2016-11-29 14:19


{:10_303:}

刘宗睿 发表于 2020-10-26 19:37:33

一次函数
页: [1]
查看完整版本: 0 0 7 6 - 小天才直线方程 - 【战】