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

Project1

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

[已经过期] - -如何将地图色调改变后,让怪物的图签色调不改变?

 关闭 [复制链接]

Lv1.梦旅人

梦石
0
星屑
26
在线时间
2155 小时
注册时间
2010-12-19
帖子
5811

贵宾

跳转到指定楼层
1
发表于 2010-12-29 23:32:42 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

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

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

x
发现在改了一个地图的色调之后,这个地图对应的战斗场面(外加怪物)也都色调化了,
不想让怪物的色调跟着地图改变(让怪物保持原色)。求解如何设置?:handshake

点评

貌似色调是控制全局的。就好像在模仿夜晚。在夜晚,你看见什么不都是模糊一团黑么?抱歉,我没办法~  发表于 2010-12-30 05:41

Lv1.梦旅人

夜天の主

梦石
0
星屑
124
在线时间
1552 小时
注册时间
2008-4-13
帖子
2347

开拓者第4届短篇游戏比赛亚军

2
发表于 2010-12-30 06:52:16 | 只看该作者
暴力的办法是战斗的时候把色调调回来,然后直接准备不同色调的战斗背景(PIA飞)
回复 支持 反对

使用道具 举报

Lv1.梦旅人

看不到我

梦石
0
星屑
50
在线时间
229 小时
注册时间
2005-11-6
帖子
1741

贵宾

3
发表于 2010-12-30 09:11:34 | 只看该作者
色调改变不会影响技能动画,不怕麻烦的话楼主可以试下,或者就要动脚本了……在行走图那一块限制了~
回复 支持 反对

使用道具 举报

Lv1.梦旅人

綾川司の姫様<

梦石
0
星屑
50
在线时间
796 小时
注册时间
2007-12-20
帖子
4520

贵宾第3届短篇游戏大赛R剧及RMTV组亚军

4
发表于 2010-12-30 11:37:48 | 只看该作者
本帖最后由 天圣的马甲 于 2010-12-30 11:49 编辑

其实真·暴力又简洁的方法是找到Spriteset_Battle里面那句@viewport1.tone = $game_screen.tone,直接注释掉,一切就清静了……只不过战斗场景里的色调再也没法用“更改画面色调”来改了(如果保持地图改变色调就只能用不同背景),所以很暴力……

麻烦的方法是,直接加个viewport把敌人的战斗图和背景分开。随便改了两笔,不保证售后……
  1. #==============================================================================
  2. # ■ Spriteset_Battle
  3. #------------------------------------------------------------------------------
  4. #  处理战斗画面的活动块的类。本类在 Scene_Battle 类
  5. # 的内部使用。
  6. #==============================================================================

  7. class Spriteset_Battle
  8.   #--------------------------------------------------------------------------
  9.   # ● 定义实例变量
  10.   #--------------------------------------------------------------------------
  11.   attr_reader   :viewport1                # 敌人方的显示端口
  12.   attr_reader   :viewport2                # 角色方的显示端口
  13.   #--------------------------------------------------------------------------
  14.   # ● 初始化变量
  15.   #--------------------------------------------------------------------------
  16.   def initialize
  17.     # 生成显示端口
  18.     @viewport0 = Viewport.new(0, 0, 640, 320)
  19.     @viewport1 = Viewport.new(0, 0, 640, 320)
  20.     @viewport2 = Viewport.new(0, 0, 640, 480)
  21.     @viewport3 = Viewport.new(0, 0, 640, 480)
  22.     @viewport4 = Viewport.new(0, 0, 640, 480)
  23.     @viewport2.z = 101
  24.     @viewport3.z = 200
  25.     @viewport4.z = 5000
  26.     # 生成战斗背景活动块
  27.     @battleback_sprite = Sprite.new(@viewport0)
  28.     # 生成敌人活动块
  29.     @enemy_sprites = []
  30.     for enemy in $game_troop.enemies.reverse
  31.       @enemy_sprites.push(Sprite_Battler.new(@viewport1, enemy))
  32.     end
  33.     # 生成敌人活动块
  34.     @actor_sprites = []
  35.     @actor_sprites.push(Sprite_Battler.new(@viewport2))
  36.     @actor_sprites.push(Sprite_Battler.new(@viewport2))
  37.     @actor_sprites.push(Sprite_Battler.new(@viewport2))
  38.     @actor_sprites.push(Sprite_Battler.new(@viewport2))
  39.     # 生成天候
  40.     @weather = RPG::Weather.new(@viewport0)
  41.     # 生成图片活动块
  42.     @picture_sprites = []
  43.     for i in 51..100
  44.       @picture_sprites.push(Sprite_Picture.new(@viewport3,
  45.         $game_screen.pictures[i]))
  46.     end
  47.     # 生成计时器块
  48.     @timer_sprite = Sprite_Timer.new
  49.     # 刷新画面
  50.     update
  51.   end
  52.   #--------------------------------------------------------------------------
  53.   # ● 释放
  54.   #--------------------------------------------------------------------------
  55.   def dispose
  56.     # 如果战斗背景位图存在的情况下就释放
  57.     if @battleback_sprite.bitmap != nil
  58.       @battleback_sprite.bitmap.dispose
  59.     end
  60.     # 释放战斗背景活动块
  61.     @battleback_sprite.dispose
  62.     # 释放敌人活动块、角色活动块
  63.     for sprite in @enemy_sprites + @actor_sprites
  64.       sprite.dispose
  65.     end
  66.     # 释放天候
  67.     @weather.dispose
  68.     # 释放图片活动块
  69.     for sprite in @picture_sprites
  70.       sprite.dispose
  71.     end
  72.     # 释放计时器活动块
  73.     @timer_sprite.dispose
  74.     # 释放显示端口
  75.     @viewport0.dispose
  76.     @viewport1.dispose
  77.     @viewport2.dispose
  78.     @viewport3.dispose
  79.     @viewport4.dispose
  80.   end
  81.   #--------------------------------------------------------------------------
  82.   # ● 显示效果中判定
  83.   #--------------------------------------------------------------------------
  84.   def effect?
  85.     # 如果是在显示效果中的话就返回 true
  86.     for sprite in @enemy_sprites + @actor_sprites
  87.       return true if sprite.effect?
  88.     end
  89.     return false
  90.   end
  91.   #--------------------------------------------------------------------------
  92.   # ● 刷新画面
  93.   #--------------------------------------------------------------------------
  94.   def update
  95.     # 刷新角色的活动块 (对应角色的替换)
  96.     @actor_sprites[0].battler = $game_party.actors[0]
  97.     @actor_sprites[1].battler = $game_party.actors[1]
  98.     @actor_sprites[2].battler = $game_party.actors[2]
  99.     @actor_sprites[3].battler = $game_party.actors[3]
  100.     # 战斗背景的文件名与现在情况有差异的情况下
  101.     if @battleback_name != $game_temp.battleback_name
  102.       @battleback_name = $game_temp.battleback_name
  103.       if @battleback_sprite.bitmap != nil
  104.         @battleback_sprite.bitmap.dispose
  105.       end
  106.       @battleback_sprite.bitmap = RPG::Cache.battleback(@battleback_name)
  107.       @battleback_sprite.src_rect.set(0, 0, 640, 320)
  108.     end
  109.     # 刷新战斗者的活动块
  110.     for sprite in @enemy_sprites + @actor_sprites
  111.       sprite.update
  112.     end
  113.     # 刷新天气图形
  114.     @weather.type = $game_screen.weather_type
  115.     @weather.max = $game_screen.weather_max
  116.     @weather.update
  117.     # 刷新图片活动块
  118.     for sprite in @picture_sprites
  119.       sprite.update
  120.     end
  121.     # 刷新计时器活动块
  122.     @timer_sprite.update
  123.     # 设置画面的色调与震动位置
  124.     @viewport0.tone = $game_screen.tone
  125.     @viewport0.ox = $game_screen.shake
  126.     # 设置画面的闪烁色
  127.     @viewport4.color = $game_screen.flash_color
  128.     # 刷新显示端口
  129.     @viewport0.update
  130.     @viewport1.update
  131.     @viewport2.update
  132.     @viewport4.update
  133.   end
  134. end
复制代码

点评

Excellent~~~~~~~! 完美解答~~  发表于 2010-12-30 20:39

生命即是责任。自己即是世界。
回复 支持 反对

使用道具 举报

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

本版积分规则

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

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

GMT+8, 2024-11-28 06:31

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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