Project1

标题: 关于Game_Screen的问题 [打印本页]

作者: 化螺耕    时间: 2014-2-17 18:49
标题: 关于Game_Screen的问题
本帖最后由 化螺耕 于 2014-2-20 18:07 编辑

RT,屁颠颠地又跑来请教了
1.
  1.     for i in 1..100
  2.       @pictures.push(Game_Picture.new(i))
  3.     end
复制代码
能介绍一下push方法吗,帮助上只有例子,不知道具体意思0.0
2.
  1.    @weather_max = 0.0
复制代码
这个是什么意思呢,为什么要用浮点数来表示
3.
  1. #--------------------------------------------------------------------------
  2.   # ● 刷新画面
  3.   #--------------------------------------------------------------------------
  4.   def update
  5.     if @tone_duration >= 1
  6.       d = @tone_duration
  7.       @tone.red = (@tone.red * (d - 1) + @tone_target.red) / d
  8.       @tone.green = (@tone.green * (d - 1) + @tone_target.green) / d
  9.       @tone.blue = (@tone.blue * (d - 1) + @tone_target.blue) / d
  10.       @tone.gray = (@tone.gray * (d - 1) + @tone_target.gray) / d
  11.       @tone_duration -= 1
  12.     end
  13.     if @flash_duration >= 1
  14.       d = @flash_duration
  15.       @flash_color.alpha = @flash_color.alpha * (d - 1) / d
  16.       @flash_duration -= 1
  17.     end
  18.     if @shake_duration >= 1 or @shake != 0
  19.       delta = (@shake_power * @shake_speed * @shake_direction) / 10.0
  20.       if @shake_duration <= 1 and @shake * (@shake + delta) < 0
  21.         @shake = 0
  22.       else
  23.         @shake += delta
  24.       end
  25.       if @shake > @shake_power * 2
  26.         @shake_direction = -1
  27.       end
  28.       if @shake < - @shake_power * 2
  29.         @shake_direction = 1
  30.       end
  31.       if @shake_duration >= 1
  32.         @shake_duration -= 1
  33.       end
  34.     end
  35.     if @weather_duration >= 1
  36.       d = @weather_duration
  37.       @weather_max = (@weather_max * (d - 1) + @weather_max_target) / d
  38.       @weather_duration -= 1
  39.       if @weather_duration == 0
  40.         @weather_type = @weather_type_target
  41.       end
  42.     end
  43.     if $game_temp.in_battle
  44.       for i in 51..100
  45.         @pictures[i].update
  46.       end
  47.     else
  48.       for i in 1..50
  49.         @pictures[i].update
  50.       end
  51.     end
  52.   end
复制代码
呃……最后麻烦简单解释一下这个更新可以吗,自己看不大懂思路额
作者: 天地有正气    时间: 2014-2-17 19:13
先说一个吧,push是在数组中添加单元。。。
其他的开电脑在看。。。
作者: 夜狠简单    时间: 2014-2-17 23:44
系统自带的F1看通了?里面的数组那些掌握了吧
作者: 化螺耕    时间: 2014-2-18 13:38
天地有正气 发表于 2014-2-17 19:13
先说一个吧,push是在数组中添加单元。。。
其他的开电脑在看。。。

SOGA,我第一个明白了,那请问第二个和第三个呢,麻烦你啦{:2_275:}
作者: 夜狠简单    时间: 2014-2-18 18:08
第三个如果是为什么显示的是浮点数的话,你可以看delta = (@shake_power * @shake_speed * @shake_direction) / 10.0
这里面就有一个10.0带小数点的数,如果其他数字也带有,就显示浮点数,如果你要计算一个伤害。比如100*0.25的结果和100/4的结果显示方式就应该不一样。
作者: 无脑之人    时间: 2014-2-19 12:35
1.向数组的末端添加元素
2.浮点数与整数的运算和显示方法都是有所不同的,既然初始化为0.0那就说明他要按照浮点数的操作进行,如果初始化为0很有可能会出现整数除法去掉余数的问题
3.这是色调那方面的么……好吧我不懂图形学Orz
作者: 化螺耕    时间: 2014-2-20 16:45
懂得差不多了,虽然第三点没人解决感觉那才是精华所在




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