浮夸的下划线 发表于 2020-7-19 09:17:59

函数y=Asin(wx+φ)击飞

演示图:

触发截图:(由于截图区域有限,只截取主要的区域)


触发文字:(我用了ydwe的逆天局部变量和计时器)
cfq 002
    事件
      单位 - 步兵 0002 <预设> 接受伤害
    条件
      (伤害来源) 等于 步兵 0001 <预设>
    动作
      逆天 - 设置 [单位] loc_dw = (伤害来源)
      逆天 - 设置 [单位] loc_dw2 = (触发单位)
      如果(所有的条件成立) 则运行 (Then - 动作) 否则运行 (Else - 动作)
            If - 条件
                (获取 [单位] (loc_dw2) 的 zt) 等于 jf
            Then - 动作
            Else - 动作
                逆天 - 设置 [实数] loc_gd = 300.00
                逆天 - 设置 [实数] loc_sj = 2.00
                逆天 - 设置 [实数] loc_t = 0.00
                逆天 - 设置 [实数] loc_xzgd = ((loc_dw2) 的默认飞行高度)
                逆天 - 设置 [单位] (loc_dw2) 的 zt 为 [字符串]jf
                -------- --------与击飞无关的变量↓↓↓ --------
                逆天 - 设置 [实数] loc_gd2 = 0.00
                -------- --------与击飞无关的变量↑↑↑ --------
                动画 - 改变 (loc_dw2) 的飞行高度为 (loc_zxgd) ,变换速率: 0.00
                单位 - 设置 (loc_dw2) 暂停
                单位 - 为 (loc_dw2) 添加 乌鸦形态
                单位 - 为 (loc_dw2) 删除 乌鸦形态
                逆天 - 立即运行 (新建的计时器) 时间设置: 0.03 秒,是否循环: 循环
                  参数
                  动作
                        如果(所有的条件成立) 则运行 (Then - 动作) 否则运行 (Else - 动作)
                            If - 条件
                              (loc_dw2) 等于 没有单位
                            Then - 动作
                              逆天 - 清除当前逆天计时器
                            Else - 动作
                              逆天 - 设置 [实数] loc_t = ((loc_t) + 0.03)
                              逆天 - 设置 [实数] loc_y = ((loc_gd) x (Sin((转换实数 ((π / (loc_sj)) x (loc_t)) 为弧度))))
                              如果(所有的条件成立) 则运行 (Then - 动作) 否则运行 (Else - 动作)
                                    If - 条件
                                        (loc_y) 小于 0.00
                                    Then - 动作
                                        动画 - 改变 (loc_dw2) 的飞行高度为 (loc_zxgd) ,变换速率: 0.00
                                        单位 - 设置 (loc_dw2) 恢复
                                        逆天 - 清空 [单位] (loc_dw2) 的[字符串] zt
                                        逆天 - 清除当前逆天计时器
                                    Else - 动作
                                        动画 - 改变 (loc_dw2) 的飞行高度为 (loc_y) ,变换速率: 0.00
                                        -------- --------以下为与击飞无关的动作 --------
                                        如果(所有的条件成立) 则运行 (Then - 动作) 否则运行 (Else - 动作)
                                          If - 条件
                                                (loc_y) 大于 (loc_gd2)
                                          Then - 动作
                                                逆天 - 设置 [实数] loc_gd2 = (loc_y)
                                          Else - 动作
                                        游戏 - 清空 (所有玩家) 屏幕上的文本信息
                                        游戏 - 对 (所有玩家) 发送显示 3600.00 秒的文本信息: 该"击飞"由 函...
                                        游戏 - 对 (所有玩家) 发送显示 3600.00 秒的文本信息: (最高高度 -+ (转换 (loc_gd2) 为字符串))
                                        游戏 - 对 (所有玩家) 发送显示 3600.00 秒的文本信息: (高度 -+ (转换 (loc_y) 为字符串))
                                        游戏 - 对 (所有玩家) 发送显示 3600.00 秒的文本信息: (时间 -+ (转换 (loc_t) 为字符串))

GIF:


该"击飞"由 函数 y=Asin(wx+φ) 制作
我使用0.03秒计时器的自增数值,最高击飞高度和击飞时间会略有误差
(计时器间隔越小最高击飞高度和击飞时间越准确)

做的不好仅供参考!

(貌似我之前有一个贴子发的别人做的击飞,好像就是用的这个做的。我们这学期刚刚学到这个函数才做出来了,见谅)

泰墨 发表于 2020-11-13 09:24:19

感谢分享!!!!
页: [1]
查看完整版本: 函数y=Asin(wx+φ)击飞