查看: 970|回复: 3

关于用脚本让角色行走图半透明

  [复制链接]
梦石
0
星屑
50
在线时间
130 小时
注册时间
2008-8-12
回帖
117
发表于 2009-5-19 18:46:00 | 显示全部楼层 |阅读模式

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

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

×
以下脚本插在MAIN前,是让附加50号状态的角色行走图变成半透明,问题是去除状态后行走图依然是半透明的,如何让行走图变回来呢


class Game_Character
   attr_accessor   :opacity                  # 不透明度
end

#地图
class Scene_Map
alias :state_main :main
def main
   @states = $game_actors[1].states #获得1号角色状态
   state_main
end
alias :state_update :update
def update
  for i in 0..@states.size - 1
    if @states == 50 and          #检查状态编号假设你是50,你可以自定义
      @opacity != $game_player.opacity  
      $game_player.opacity = 100     #改变主角透明度100
      @opacity = $game_player.opacity
    end
  end
   state_update
end
end
版务信息:本贴由楼主自主结贴~
Tomorrow

穿越一季:朔

梦石
0
星屑
50
在线时间
333 小时
注册时间
2007-4-11
回帖
5052

贵宾

发表于 2009-5-19 19:10:19 | 显示全部楼层

  1. class Game_Character
  2.   attr_accessor   :opacity                  # 不透明度
  3. end

  4. #地图
  5. class Scene_Map
  6. alias :state_main :main
  7. def main
  8.   @states = $game_actors[1].states #获得1号角色状态
  9.   state_main
  10. end
  11. alias :state_update :update
  12. def update
  13. for i in 0..@states.size - 1
  14.    if @states[i] == 2         #检查状态编号假设你是50,你可以自定义
  15.      #@opacity != $game_player.opacity  
  16.      $game_player.opacity = 100     #改变主角透明度100
  17.     # @opacity = $game_player.opacity
  18.    else
  19.     # @opacity != $game_player.opacity  
  20.      $game_player.opacity = 255     #改变主角透明度100
  21.      #@opacity = $game_player.opacity
  22.    end
  23. end
  24.   state_update
  25. end
  26. end
复制代码

for i in 0..@states.size - 1
因为已经被定义到是状态判断。

所以只会判断该状态以及该状态以外的状态

即当50号状态以外的状态会有什么效果。
你可以设置一个空白状态或者【正常】状态(达到伪效果?)。如49号。
50号透明  当49号附加则还原。战斗的时候只要不附加50号便没有任何影响


其实是状态去除的判断我不知道 {/pz}
6R复活?别扯淡了.

柳柳一旦接手66RPG,我果断呵呵啊。
回复

使用道具 举报

梦·贤者

梦石
0
星屑
50
在线时间
1141 小时
注册时间
2007-12-15
回帖
4075
发表于 2009-5-19 20:10:30 | 显示全部楼层
class Game_Character
  attr_accessor   :opacity                  # 不透明度
end

#地图
class Scene_Map
alias :state_main :main
def main
  @states = $game_actors[1].states #获得1号角色状态
  state_main
end
alias :state_update :update
def update
  if not @states.include?(50) and $game_player.opacity != 255
    $game_player.opacity = 255
    state_update
    return
  end

for i in 0..@states.size - 1
   if @states == 50 and          #检查状态编号假设你是50,你可以自定义
     @opacity != $game_player.opacity  
     $game_player.opacity = 100     #改变主角透明度100
     @opacity = $game_player.opacity
   end
end
  state_update
end
end
系统信息:本贴由楼主认可为正确答案,66RPG感谢您的热情解答~
http://rpg.blue/home.php?mod=space&uid=34951&do=blog&id=12799
回复

使用道具 举报

梦石
0
星屑
50
在线时间
130 小时
注册时间
2008-8-12
回帖
117
 楼主| 发表于 2009-5-19 20:15:13 | 显示全部楼层
谢谢了
回复

使用道具 举报

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

本版积分规则

Powered by Discuz! X5.0 © 2001-2026 Discuz! Team.

在本版发帖返回顶部