设为首页收藏本站|繁體中文

Project1

 找回密码
 注册会员
搜索
查看: 5116|回复: 12
打印 上一主题 下一主题

[通用发布] 敌人纵向缩放 - Vertical Zoom of Enemies

[复制链接]

Lv2.观梦者

虚構歪曲

梦石
0
星屑
364
在线时间
1198 小时
注册时间
2010-12-18
帖子
3928

贵宾

跳转到指定楼层
1
发表于 2011-3-12 17:37:27 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

加入我们,或者,欢迎回来。

您需要 登录 才可以下载或查看,没有帐号?注册会员

x
本帖最后由 忧雪の伤 于 2011-8-12 00:31 编辑

适用范围:VXP(VX & XP)。
使用说明:使用说明参见脚本中的注释部分。

  1. #==============================================================================
  2. #  Chinese name: 敌人纵向缩放
  3. #  English name: Vertical Zoom of Enemies
  4. #------------------------------------------------------------------------------
  5. #  Pact: Idiot Script Association(ISA)
  6. #  Website: http://rpg.blue/group-215-1.html
  7. #------------------------------------------------------------------------------
  8. #  Author: 忧雪の伤
  9. #  Version: 2.0.1.0
  10. #  Update: 2011.8.11
  11. #==============================================================================

  12. #==============================================================================
  13. # ** Take down this script's message.
  14. #------------------------------------------------------------------------------
  15. #    记录这个脚本的信息。
  16. #==============================================================================

  17. $imported = {} if $imported.nil?
  18. $imported['EnemyVz'] = '2.0.1.0'

  19. #==============================================================================
  20. # ** Game_Enemy
  21. #==============================================================================

  22. class Game_Enemy
  23.   #--------------------------------------------------------------------------
  24.   # * Get Enemy ID.
  25.   #--------------------------------------------------------------------------
  26.   #   获取敌人 ID 。
  27.   #--------------------------------------------------------------------------
  28.   alias id enemy_id if method_defined? :enemy_id
  29.   #--------------------------------------------------------------------------
  30.   # * Get name.
  31.   #--------------------------------------------------------------------------
  32.   #   获取名称。
  33.   #--------------------------------------------------------------------------
  34.   #   在敌人名字中增加 '[no zoom]' 的场合关闭缩放。
  35.   #--------------------------------------------------------------------------
  36.   alias vertical_zoom_name name
  37.   def name(*args)
  38.     vertical_zoom_name(*args).sub(/\[no zoom\]/, '')
  39.   end
  40. end

  41. #==============================================================================
  42. # ** Game_Troop
  43. #==============================================================================

  44. class Game_Troop
  45.   #--------------------------------------------------------------------------
  46.   # * Public instance variables.
  47.   #--------------------------------------------------------------------------
  48.   #   定义实例变量。
  49.   #--------------------------------------------------------------------------
  50.   attr_accessor(:name) unless method_defined? :name
  51.   #--------------------------------------------------------------------------
  52.   # * Setup.
  53.   #--------------------------------------------------------------------------
  54.   #   设置。
  55.   #--------------------------------------------------------------------------
  56.   #   在队伍名字中增加 '[zoom]' 的场合启用缩放。
  57.   #--------------------------------------------------------------------------
  58.   alias vertical_zoom_setup setup
  59.   def setup(*args)
  60.     @name = $data_troops[args[0]].name unless defined? @name
  61.     vertical_zoom_setup *args
  62.   end
  63. end

  64. #==============================================================================
  65. # ** Spriteset_Battle
  66. #==============================================================================

  67. class Spriteset_Battle
  68.   #--------------------------------------------------------------------------
  69.   # * Frame update.
  70.   #--------------------------------------------------------------------------
  71.   #   刷新画面。
  72.   #--------------------------------------------------------------------------
  73.   alias vertical_zoom_update update
  74.   def update(*args)
  75.     vertical_zoom_update *args
  76.     return unless $scene.is_a?(Scene_Battle)
  77.     return unless $game_troop.name[/\[zoom\]/]
  78.     height = Graphics.methods.include?('height') ? Graphics.height : 480
  79.     @enemy_sprites.each do |sprite|
  80.       next if $data_enemies[sprite.battler.id].name[/\[no zoom\]/]
  81.       sprite.zoom_x = sprite.zoom_y = 120.0 / (height - sprite.y)
  82.     end
  83.   end
  84. end
复制代码

Lv3.寻梦者

梦石
0
星屑
1896
在线时间
896 小时
注册时间
2010-11-13
帖子
406
2
发表于 2011-3-12 17:43:25 | 只看该作者
本帖最后由 塞巴斯特 于 2011-3-12 17:44 编辑

伟大的回车建议:
干脆弄成酱
比较近的时候,用战斗图
远的时候,用行走图
要不然整个敌人缺这缺那的……

点评

什么叫缺这缺那?……  发表于 2011-3-13 10:30
想也一直在把精力放在自认为重要的事上,可能一会,可能一辈子不会填坑,失态
回复 支持 反对

使用道具 举报

Lv3.寻梦者

梦石
0
星屑
1175
在线时间
1564 小时
注册时间
2008-7-30
帖子
4418

贵宾

3
发表于 2011-3-12 17:43:45 | 只看该作者
本帖最后由 DeathKing 于 2011-3-12 17:44 编辑

这个可以做出层次丰富的敌人队伍,能表现出一些令人惊奇的效果。

吐槽一下这个超长的 alias ,可以用 unless $@ 啊。

alias :enemy's_near_the_far_smaller_update :update unless method_defined? :enemy's_near_the_far_smaller_update

点评

为什么下面那段还是原来的= = 如果用unless $@的话是怎么样写?  发表于 2011-3-12 19:23

See FScript Here:https://github.com/DeathKing/fscript
潜心编写URG3中。
所有对URG3的疑问和勘误或者建议,请移步至发布页面。
欢迎萌妹纸催更
回复 支持 反对

使用道具 举报

Lv3.寻梦者

小柯的徒弟

梦石
0
星屑
1515
在线时间
1157 小时
注册时间
2008-5-24
帖子
3085

贵宾

4
发表于 2011-3-12 17:45:32 | 只看该作者
建议把基础脚本放到主楼哦,只用这个的话常量没初始化~~

点评

没事啦……已经放了。  发表于 2011-3-13 10:29
><喵小旅最近不怎么注意到签名。不好意思唔。  发表于 2011-3-12 20:09
恩……基础脚本在签名的说……我明白了。  发表于 2011-3-12 19:22
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
49
在线时间
261 小时
注册时间
2010-9-17
帖子
737
5
发表于 2011-3-12 19:07:49 | 只看该作者
其实我怎么觉得怪怪的。。
是我的眼睛问题吗。。
感觉变化太大了。。

点评

= = 我把两个拉的比较远啦!根据你队伍位置的调整决定的。  发表于 2011-3-12 19:24
回复 支持 反对

使用道具 举报

Lv3.寻梦者

梦石
0
星屑
1175
在线时间
1564 小时
注册时间
2008-7-30
帖子
4418

贵宾

6
发表于 2011-3-13 10:19:44 | 只看该作者
alias :enemy's_near_the_far_smaller_update :update unless $@

应该是这样,其实你可以把方法名写短点,但如果是为了代码的美观的话,这样做也无伤大雅。

其实我最想说的是,这个脚本的效果很好,用得好的话,绝对可以达到一种很梦幻的效果。

点评

这样啊恩 我第一次看到这种写法  发表于 2011-3-13 11:50

See FScript Here:https://github.com/DeathKing/fscript
潜心编写URG3中。
所有对URG3的疑问和勘误或者建议,请移步至发布页面。
欢迎萌妹纸催更
回复 支持 反对

使用道具 举报

Lv2.观梦者

虚構歪曲

梦石
0
星屑
364
在线时间
1198 小时
注册时间
2010-12-18
帖子
3928

贵宾

7
 楼主| 发表于 2011-3-13 10:25:57 | 只看该作者
DeathKing 发表于 2011-3-13 10:19
alias :enemy's_near_the_far_smaller_update :update unless $@

应该是这样,其实你可以把方法名写短点 ...
但如果是为了代码的美观的话
正解~
其实我最想说的是,这个脚本的效果很好,用得好的话,绝对可以达到一种很梦幻的效果。
现在用默认战斗的人不多啊……估计没多少人用。

点评

我肯定会用到啊喵。  发表于 2011-3-13 11:50
回复 支持 反对

使用道具 举报

Lv4.逐梦者

梦石
0
星屑
6855
在线时间
1666 小时
注册时间
2008-10-29
帖子
6710

贵宾

8
发表于 2011-3-13 11:02:45 | 只看该作者
这个效果比较适合以背影为角色战斗图
然后调整一下坐标就有点立体感了.

P.S.近大远小的效果在很多年以前就有人做过了貌似.

点评

没错……后知后觉前辈好!  发表于 2011-3-13 11:05











你知道得太多了

回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
110
在线时间
953 小时
注册时间
2007-4-25
帖子
805
9
发表于 2011-3-13 15:58:20 | 只看该作者
DeathKing 发表于 2011-3-13 10:19
alias :enemy's_near_the_far_smaller_update :update unless $@

应该是这样,其实你可以把方法名写短点 ...

这么做是什么意思?alias 的时候不会抛出异常……
[email protected]:~> repeat 1 fortune
Matz is nice, so we are nice.
回复 支持 反对

使用道具 举报

Lv2.观梦者

傻♂逼

梦石
0
星屑
374
在线时间
1606 小时
注册时间
2007-3-13
帖子
6562

烫烫烫开拓者

10
发表于 2011-3-19 21:54:58 | 只看该作者
不是我打击LZ= =
早就有了= =
哎呀,蛋疼什么的最有爱了
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册会员

本版积分规则

拿上你的纸笔,建造一个属于你的梦想世界,加入吧。
 注册会员
找回密码

站长信箱:[email protected]|手机版|小黑屋|无图版|Project1游戏制作

GMT+8, 2024-11-15 01:30

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表