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

Project1

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

[已经解决] 诡异的幻影脚本,求解

 关闭 [复制链接]

Lv1.梦旅人

℃ake

梦石
0
星屑
50
在线时间
8 小时
注册时间
2009-6-6
帖子
787
跳转到指定楼层
1
发表于 2009-9-26 19:35:55 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式

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

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

x
本帖最后由 奶油Da蛋糕 于 2009-9-26 20:20 编辑

最近整理了一个幻影脚本。
其实也不算什么整理,就是从工程里拿出来了而已。
这个幻影脚本就是可以在行走图后面附加一条幻影,类似泡泡堂一样的(比那个幻影要华丽的多)!
这个脚本经过测试如下:
1.新建工程插入此脚本:很好
2.在黑暗圣剑中插入此脚本:很好
3.在梦幻群侠传3中插入此脚本:向上行走时完全没有幻影,有时只产生一个在角色上的光。
4.在梦想逍遥游(我的游戏)中插入此脚本:完全不是幻影,就是在角色上面附了一层光。
5.在宠物小精灵(像素素材游戏)中插入此脚本:完全不是幻影,就是在角色上面附了一层光。
6.在石焚刃暖中插入此脚本(改成了四方向):感觉有点凭几率,有时候前面走四步完全不是幻影,就是在角色上面附了一层光,但是走着走着就变成了幻影,有时候明明是幻影,走着走着又变成了附在角色身上的光。

(失去了跟随的效果)
现在,不知道其具体冲突原因,寻找多次均未找出。故求解。

脚本如下:
(在提取脚本的时候,我已经全部用插件插入原有脚本,按理而言不应有任何冲突)
  1. #=============
  2. #=============
  3. #★幻影
  4. #作者:弗洛多
  5. #整理:奶油Da蛋糕
  6. #=============
  7. #=============
  8. class Game_Player < Game_Character
  9.   def mirage(opacity)
  10.     $scene.spriteset.mirage(self, opacity)
  11.   end
  12.   alias update_naiyoudadangao update
  13.     def update
  14.     update_naiyoudadangao
  15.     if Input.dir8 != 0
  16.       mirage(120)
  17.     end
  18.     end
  19.   end
  20. class Sprite_MirageCharacter < RPG::Sprite
  21.   attr_accessor :character            
  22.   def initialize(viewport, opacity, character = nil)
  23.     super(viewport)
  24.     @character = character
  25.     self.opacity = opacity
  26.     update
  27.   end
  28.   def update
  29.     super
  30.     if @tile_id != @character.tile_id or
  31.        @character_name != @character.character_name or
  32.        @character_hue != @character.character_hue
  33.       @tile_id = @character.tile_id
  34.       @character_name = @character.character_name
  35.       @character_hue = @character.character_hue
  36.       if @tile_id >= 384
  37.         self.bitmap = RPG::Cache.tile($game_map.tileset_name,
  38.           @tile_id, @character.character_hue)
  39.         self.src_rect.set(0, 0, 32, 32)
  40.         self.ox = 16
  41.         self.oy = 32
  42.       else
  43.         self.bitmap = RPG::Cache.character(@character.character_name,
  44.           @character.character_hue)
  45.         @cw = bitmap.width / 4
  46.         @ch = bitmap.height / 4
  47.         self.ox = @cw / 2
  48.         self.oy = @ch
  49.         self.x = @character.screen_x
  50.         self.y = @character.screen_y
  51.       end
  52.     end
  53.     self.visible = (not @character.transparent)
  54.     if @tile_id == 0 and !@t
  55.       sx = @character.pattern * @cw
  56.       sy = (@character.direction - 2) / 2 * @ch
  57.       self.src_rect.set(sx, sy, @cw, @ch)
  58.       @t = true
  59.     end
  60.     self.z = @character.screen_z(@ch)
  61.     self.color.set(0,0,170,120)
  62.     self.opacity -= 5
  63.     self.blend_type = 1
  64.     self.bush_depth = @character.bush_depth
  65.     if @character.animation_id != 0
  66.       animation = $data_animations[@character.animation_id]
  67.       animation(animation, true)
  68.       @character.animation_id = 0
  69.     end
  70.   end
  71. end

  72. class Spriteset_Map
  73.   alias initialize_naiyoudadangao  initialize
  74.   def initialize
  75.     @mirage = {}
  76.     initialize_naiyoudadangao   
  77.   end
  78.   def mirage(obj, opacity)
  79.     @mirage[obj] ||= []
  80.     @mirage[obj].push(Sprite_MirageCharacter.new(@viewport1, opacity, obj))
  81.   end

  82. alias update_naiyoudadangao update
  83. def update
  84.    update_naiyoudadangao
  85.     for value in @mirage.values
  86.       for v in value
  87.         v.update
  88.         if v.opacity <= 0
  89.           v.dispose
  90.           value.delete(v)
  91.         end
  92.       end
  93.     end
  94.   end
  95. end
  96. class Scene_Map
  97.   attr_reader   :spriteset
  98. end
复制代码
我爱66RPG,但我讨厌66.

Lv1.梦旅人

梦石
0
星屑
50
在线时间
1 小时
注册时间
2009-7-24
帖子
338
2
发表于 2009-9-26 20:12:15 | 只看该作者
俺看看俺的有反应不……
顶顶rmxp,rmvx~!死命的顶啊——!!!那个啥,个人空间…非诚勿扰啊http://http://hi.baidu.com/wilsondavid
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
50
在线时间
1 小时
注册时间
2009-7-24
帖子
338
3
发表于 2009-9-26 20:14:00 | 只看该作者
新建工程:有效。
俺用了一对脚本之后:无效了……
顶顶rmxp,rmvx~!死命的顶啊——!!!那个啥,个人空间…非诚勿扰啊http://http://hi.baidu.com/wilsondavid
回复 支持 反对

使用道具 举报

Lv2.观梦者

梦石
0
星屑
425
在线时间
135 小时
注册时间
2008-5-20
帖子
96
4
发表于 2009-9-26 21:01:29 | 只看该作者
MS是幻影出现的坐标设成了画面坐标了,应该用地图坐标吧,我试了下,画面跟随主角移动时,幻影出现的位置就是主角在画面上的位置,而到边的时候画面不动了,主角相对于画面的坐标改变了,幻影正常,所以此脚本内的幻影应该是设置成了于画面有关了......不知道对不对
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
50
在线时间
1 小时
注册时间
2009-7-24
帖子
338
5
发表于 2009-9-26 21:12:23 | 只看该作者
新建有效,在一个原来的工程上面,无效……
顶顶rmxp,rmvx~!死命的顶啊——!!!那个啥,个人空间…非诚勿扰啊http://http://hi.baidu.com/wilsondavid
回复 支持 反对

使用道具 举报

Lv1.梦旅人

℃ake

梦石
0
星屑
50
在线时间
8 小时
注册时间
2009-6-6
帖子
787
6
 楼主| 发表于 2009-9-26 21:26:49 | 只看该作者
MS是幻影出现的坐标设成了画面坐标了,应该用地图坐标吧,我试了下,画面跟随主角移动时,幻影出现的位置就是主角在画面上的位置,而到边的时候画面不动了,主角相对于画面的坐标改变了,幻影正常,所以此脚本内的幻影应该是 ...
天秤守卫者 发表于 2009-9-26 21:01


非常感谢,原因确实如此。
我爱66RPG,但我讨厌66.
回复 支持 反对

使用道具 举报

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

本版积分规则

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

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

GMT+8, 2025-1-6 20:09

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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