Project1

标题: 本人刚刚学脚本!写了个小脚本错了!~忘高手指点 [打印本页]

作者: kula1900    时间: 2009-1-16 01:17
标题: 本人刚刚学脚本!写了个小脚本错了!~忘高手指点
加速脚本  太丑了(这个是不能用的)随帮我改下啊
class Scene_Js
if [switch_24] = true
Graphics.frame_rate *= variables[20]
elsif [switch_24] = false
Graphics.frame_rate *= 1   
老提示第二行出错!~why??
下面的是事件
文章:游戏开始前请你设置下游戏速度
显示选择项:速度1,速度2,速度3,随便
:速度1的场合
变量操作【20游戏速度】=1
标签跳转:开始
:速度2的场合
变量操作【20游戏速度】=2
标签跳转:开始
:速度3的场合
标签跳转:开始
变量操作【20游戏速度】=3
:随便的场合
变量操作【20游戏速度】=随机数【1.2.3】
标签跳转:开始
:取消的场合
文章:你想多快??火箭??
game over
分歧结束
标签
开始
后面就是片头!~ [LINE]1,#dddddd[/LINE]此贴于 2009-1-19 13:09:45 被版主darkten提醒,请楼主看到后对本贴做出回应。 [LINE]1,#dddddd[/LINE]此贴于 2009-1-20 8:01:34 被版主darkten提醒,请楼主看到后对本贴做出回应。 [LINE]1,#dddddd[/LINE]版务信息:版主帮忙结贴~
作者: 亿万星辰    时间: 2009-1-16 01:34
[switch_24] 和 variables[20] 的用法本身就是错的,建议看一下那个Scene_Debug,或许能明白变量和开关到底是如何调用的。
作者: 做游戏的新手    时间: 2009-1-16 01:36
class Scene_Js
    if $game_switches[24] == true
Graphics.frame_rate *= variables[20]
else $game_switches[24] == false
Graphics.frame_rate *= 1
end
开关$game_switches[x]
变量$game_variables[x]{/gg}
作者: 亿万星辰    时间: 2009-1-16 01:42
哎。。。楼上的同学啊……哎。。。
作者: chenyin    时间: 2009-1-16 01:43
$game_switches[24]
$game_variables[20]
貌似是这样调用的,我也是新手,不对请指出.
另外frame_rate是平滑模式下的帧数,好像不能起到加速游戏的作用吧...
----------------------------------------------------------------------------
修正下- -
作者: kula1900    时间: 2009-1-16 02:07
{/dk}{/dk}{/dk}{/dk}{/dk}{/dk}{/dk}{/dk}{/dk}{/dk}{/dk}{/dk} [LINE]1,#dddddd[/LINE]版主对此帖的评论:『纯水表情= =』,积分『-50』。这些被扣积分的一半会用于对本帖正确答案的悬赏。
作者: 做游戏的新手    时间: 2009-1-17 21:34
以下引用做游戏的新手于2009-1-15 17:36:23的发言:

class Scene_Js
   if $game_switches[24] == true
Graphics.frame_rate *= variables[20]
else $game_switches[24] == false
Graphics.frame_rate *= 1
end
开关$game_switches[x]
变量$game_variables[x]

{/gg}{/gg}狂汗,发现错了
变量不能为true 或FALSE只能为数值
作者: 亿万星辰    时间: 2009-1-18 03:41
以下引用做游戏的新手于2009-1-17 13:34:12的发言:

变量不能为true 或FALSE只能为数值

这也是误区吧。。。。。。{/ll}{/ll}{/ll}

看来你还是没明白我指的问题是指哪部分  orz
作者: 灼眼的夏娜    时间: 2009-1-18 03:51
{/hx}疯老大是要引导别人学习。。。
作者: 康师傅冰红茶    时间: 2009-1-18 04:50
提示: 作者被禁止或删除 内容自动屏蔽
作者: 后知后觉    时间: 2009-1-18 07:25
class Scene_Js
  if $game_switches[24] == true
    Graphics.frame_rate *= $game_variables[20]
  else
    Graphics.frame_rate *= 1
  end
end
如果这一句的意思是想回复正常的话
我认为这个 *= 1  没用
应该是
Graphics.frame_rate = 40
我没记错的话应该是40,F1里能查到……
Graphics.frame_rate *= $game_variables[20]
这一句我也觉得要改改,因为通过事件的变量操作给变量赋值
好像只能赋整数,所以为了方便就改成这样比较好
Graphics.frame_rate = $game_variables[20]
还有,如果只是想实现这个效果的话,没有必要新建这个Scene类
把这一段放到一个公共事件里就可以了
  if $game_switches[24] == true
    Graphics.frame_rate = $game_variables[20]
  else
    Graphics.frame_rate = 40
  end

作者: 亿万星辰    时间: 2009-1-18 16:51
以下引用灼眼的夏娜于2009-1-17 19:51:02的发言:

疯老大是要引导别人学习。。。

{/ll}{/ll}{/ll}{/ll}{/ll}
只可惜当事人没发现啊……5555555
作者: 天圣的马甲    时间: 2009-1-19 23:31
(捶地)这贴引出了这么多高手还这么欢乐orz我该怎么处置这个帖子啊……
(正色)楼主,你这个是脚本事件杂交体……如果一定要写这类脚本的话,研究Scene_Debug + 1。

PS:新手君……谁说变量只能是数值了啊(远目)
作者: goahead    时间: 2009-1-19 23:51
提示: 作者被禁止或删除 内容自动屏蔽
作者: IamI    时间: 2009-1-20 00:05
LZ的脚本实在是……毫无章法,亦无气质
另外放错了地方。
就改成这样子吧,即插式脚本
class Game_Variables
  def []=(variable_id, value)
    if variable_id <= 5000
      @data[variable_id] = value
    if variable_id == 20
      Graphics.frame_rate = 40 * value
    end
    end
  end
end
[LINE]1,#dddddd[/LINE]系统信息:本贴由本区版主认可为正确答案,66RPG感谢您的热情解答~
作者: 亿万星辰    时间: 2009-1-20 01:17
以下引用IamI于2009-1-19 16:05:37的发言:
class Game_Variables
def []=(variable_id, value)
   if variable_id <= 5000
     @data[variable_id] = value
     if variable_id == 20
       Graphics.frame_rate = 40 * value
     end
   end
end
end

终于……{/ll}{/ll}{/ll}{/ll}{/ll}




欢迎光临 Project1 (https://rpg.blue/) Powered by Discuz! X3.1