Project1
标题:
这段脚本中的数字是什么意思
[打印本页]
作者:
小和尚
时间:
2013-7-10 19:38
标题:
这段脚本中的数字是什么意思
if @flash_shake != 0
case @flash_shake
when 9..10
$game_screen.start_shake(0,0,0)
self.x = @battler.screen_x
self.y -=4
self.z = @battler.screen_z
when 6..8
$game_screen.start_shake(0,0,0)
self.x = @battler.screen_x
self.y -=2
self.z = @battler.screen_z
when 3..5
$game_screen.start_shake(0,0,0)
self.x = @battler.screen_x
self.y +=2
self.z = @battler.screen_z
when 1..2
$game_screen.start_shake(0,0,0)
self.x = @battler.screen_x
self.y += 4
self.z = @battler.screen_z
end
@flash_shake -= 1
end
被放大的字体是什么意思 当1到2时?是什么1到2啊?
作者:
swebok
时间:
2013-7-10 19:46
case @flash_shake
作者:
小和尚
时间:
2013-7-10 19:53
swebok 发表于 2013-7-10 19:46
case @flash_shake
case @flash_shake为1时是什么意思 体现在游戏中是什么效果
作者:
芯☆淡茹水
时间:
2013-7-11 14:55
本帖最后由 芯☆淡茹水 于 2013-7-11 15:08 编辑
举个差不多的例子,并且加上注释,相信LZ会明白
#==============================================================================
#定义一个变量 [url=home.php?mod=space&uid=236945]@gold[/url] ,然后代入 0 到 99 (含)的随机数。
@gold = rand (100)
#@gold 数值的分支
case @gold
#当 @gold 的值为 0 到 10 (含)时
when 0..10
# 显示 "你的钱好少啊!"
p "你的钱好少啊!"
#当 @gold 的值为 11 到 40 (含)时
when 11..40
# 显示 "你的钱还没我多。"
p "你的钱还没我多。"
#当 @gold 的值为 41 到 80 (含)时
when 41..80
#显示 "原来你也有这么多钱啊。"
p "原来你也有这么多钱啊。"
#当 @gold 的值为 81 到 99 (含)时
when 81..99
#显示 "你好多钱,借点给我!"
p "你好多钱,借点给我!"
end
#----------------------------------------------------------------
#case 先对一个表达式进行匹配判断,然后根据匹配结果进行分支选择。
#case 将返回条件成立的 when 部分,若所有条件都不成立的话,则返回 nil。
#----------------------------------------------------------------
#说得通俗点,比如上面的例子,先 case @gold ,然后再和下面的 when 进行比较,
#@gold 的值符合哪个 when ,就显示哪个。
#
#比如 @gold 随机出来的值是 30 时,那么就符合 when 11..40 ,所以就显示
#"你的钱还没我多。"。当 @gold 随机出来的值是 88 时,就符合 when 81..99 ,
#所以就显示 "你好多钱,借点给我!"
#------------------------
# 这和下面这段的效果一样
#-----------------------
#定义一个变量 @gold ,然后代入 0 到 99 (含)的随机数
@gold = rand (100)
#如果 @gold 大于等于 0 ,并且 @gold 小于等于 10 时
if @gold >= 0 and @gold <= 10
# 显示 "你的钱好少啊!"
p "你的钱好少啊!"
#如果 @gold 大于等于 11 ,并且 @gold 小于等于 40 时
elsif @gold >= 11 and @gold <= 40
# 显示 "你的钱还没我多。"
p "你的钱还没我多。"
#如果 @gold 大于等于 41 ,并且 @gold 小于等于 80 时
elsif @gold >= 41 and @gold <= 80
#显示 "原来你也有这么多钱啊。"
p "原来你也有这么多钱啊。"
#如果 @gold 大于等于 81 ,并且 @gold 小于等于 99 时
elsif @gold >= 81 and @gold <= 99
#显示 "你好多钱,借点给我!"
p "你好多钱,借点给我!"
end
#==============================================================================
复制代码
作者:
芯☆淡茹水
时间:
2013-7-11 15:54
本帖最后由 芯☆淡茹水 于 2013-7-11 15:56 编辑
再把LZ的原脚本注释并解释下
#==============================================================================
#如果 @flash_shake 的值不为 0 。(@flash_shake 为自定义,原脚本里没有)
if @flash_shake != 0
case @flash_shake # @flash_shake 的分支
when 9..10 # 当 @flash_shake 值是 9 到 10 时
$game_screen.start_shake(0,0,0) # 画面震动
self.x = @battler.screen_x # X 坐标等于战斗者的战斗画面 X 坐标
self.y -=4 # Y 坐标减去 4
self.z = @battler.screen_z # Z 坐标等于战斗者的战斗画面 Z 坐标
when 6..8 # 当 @flash_shake 值是 6 到 8 时
$game_screen.start_shake(0,0,0)
self.x = @battler.screen_x
self.y -=2 # Y 坐标减去 2
self.z = @battler.screen_z
when 3..5 # 当 @flash_shake 值是 3 到 5 时
$game_screen.start_shake(0,0,0)
self.x = @battler.screen_x
self.y +=2 # Y 坐标加上 2
self.z = @battler.screen_z
when 1..2 # 当 @flash_shake 值是 1 到 2 时
$game_screen.start_shake(0,0,0)
self.x = @battler.screen_x
self.y += 4 # Y 坐标加上 4
self.z = @battler.screen_z
end
@flash_shake -= 1 # @flash_shake 的值减去 1
end
#==============================================================================
=begin
上面那段貌似定义在 Sprite_Battler 里,其作用是战斗者在特定条件下(比如挨打)
战斗者的战斗图上下晃动并加上画面震动。要实现这个效果时,先赋予 @flash_shake
一个值,大概是:@flash_shake = 10 。通过画面的刷新来实现 @flash_shake 的递减,
然后根据 @flash_shake 的值来上下“移动”战斗图。
比如 @flash_shake 的初始值是 10 ,然后符合 when 9..10 ,战斗图的 X 和 Z 坐标
不变,Y 坐标减 4 ,然后进行下面的 @flash_shake -= 1 ;下一次刷新时(当然刷新速度
是很快的),@flash_shake 的值就是 9 ,任然符合 when 9..10 ,Y 坐标再减去 4,
@flash_shake 的值再减去 1 ;第三次刷新时,@flash_shake 的值就是 8 ,符合
when 6..8 ,Y 坐标减去 2,@flash_shake 的值再减去 1;............@flash_shake
的值一直递减,直到下面的 when 3..5 和 when 1..2 全部都“进行”了两遍,一直到
@flash_shake 的值等于 0 时。由于条件限制:if @flash_shake != 0 ,所以该功能
关闭,战斗图上下晃动结束。
=end
#==============================================================================
复制代码
突然发现自己适合去做脚本教程,,,
作者:
爱夏的鱼
时间:
2013-7-12 11:39
战斗时人物上下晃动
欢迎光临 Project1 (https://rpg.blue/)
Powered by Discuz! X3.1