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

Project1

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

[已经解决] 【已經解決】如何單純的控制地圖的色調,不控制事件以...

[复制链接]

Lv3.寻梦者

梦石
0
星屑
2509
在线时间
2358 小时
注册时间
2012-3-1
帖子
735
跳转到指定楼层
1
发表于 2017-5-25 20:10:13 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式

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

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

x
本帖最后由 卡奥尼特 于 2017-5-27 15:28 编辑


嗯,最近無聊玩了很多RPG。
而且遇敵方式也有很多種。

有一次玩UT。所以也想把這樣的方式搬到VA內使用。如果沒猜錯的話,著名的口袋妖怪也沿用了這樣的方式。

也就是,單純的更改地圖的色調。 主角以及事件均不受影響。
所以我的要求如下:
1、除了指定的事件,能單純的更改地圖色調,指定的事件不受色調更改的限制
2、除了主角以外,能單純的更改地圖的色調,主角均不受色調更改的限制
3、除了指定的事件以及主角以外,能單純的更改地圖的色調,指定的事件以及主角均不受色調更改的限制


結貼補充內容
也許我的表達方面很單純,或許我理想中的和妳們理解中的可能會有些差異。
主要的是,我到底想實現什麼,真正想要的效果到底是什麼?
寫一個開關不是問題,感覺要理解你真正想要的效果是什麼才是大問題..沒玩過什麼UT..

嗯,這裡引用一下13樓的話。
以後我提問題的時候還是先把問題整理好了再來發問,免得像今天一樣尷尬。。
所以,給大家添麻煩了。抱歉。。

其次,我並不是擅長寫代碼。 0.0 嗯,好像重點不在這裡。

其餘我想說的話,在14樓

Lv5.捕梦者

梦石
0
星屑
33148
在线时间
10485 小时
注册时间
2009-3-15
帖子
4756
2
发表于 2017-5-25 20:54:46 | 只看该作者
事件命令更改画面色调不是这个效果么?
回复 支持 反对

使用道具 举报

Lv3.寻梦者

梦石
0
星屑
2509
在线时间
2358 小时
注册时间
2012-3-1
帖子
735
3
 楼主| 发表于 2017-5-25 21:28:08 | 只看该作者
soulsaga 发表于 2017-5-25 20:54
事件命令更改画面色调不是这个效果么?


只能更改畫面色調,事件以及主角都會受影響。
回复 支持 反对

使用道具 举报

Lv5.捕梦者 (管理员)

老黄鸡

梦石
0
星屑
39607
在线时间
7482 小时
注册时间
2009-7-6
帖子
13482

开拓者贵宾

4
发表于 2017-5-25 22:08:56 | 只看该作者
Spriteset_Map里面,你得先新建一个viewport,因为默认地图和人物都在viewport1,然后在update里面不更新新建的这个viewport的色调
演示代码,自己把修改部分移动到自己的工程里。
1.创建
  1. def create_viewports
  2.     @viewport1 = Viewport.new
  3.     @viewportX = Viewport.new
  4.     @viewport2 = Viewport.new
  5.     @viewport3 = Viewport.new
  6.     @viewportX.z = 25
  7.     @viewport2.z = 50
  8.     @viewport3.z = 100
  9.   end
复制代码


2.然后create_characters这个方法里面的viewport1全部换成viewportX

3.更新
  1. def update_viewports
  2.     @viewport1.tone.set($game_map.screen.tone)
  3.     @viewport1.ox = $game_map.screen.shake
  4.     @viewportX.ox = $game_map.screen.shake
  5.     @viewport2.color.set($game_map.screen.flash_color)
  6.     @viewport3.color.set(0, 0, 0, 255 - $game_map.screen.brightness)
  7.     @viewport1.update
  8.     @viewportX.update
  9.     @viewport2.update
  10.     @viewport3.update
  11.   end
复制代码


4.释放
  1. def dispose_viewports
  2.     @viewport1.dispose
  3.     @viewport2.dispose
  4.     @viewport3.dispose
  5.     @viewportX.dispose
  6.   end
复制代码

评分

参与人数 1星屑 +66 收起 理由
MeowSnow + 66 流石黄鸡神醋

查看全部评分

RGDirect - DirectX驱动的RGSS,点我了解.
RM全系列成套系统定制请联系QQ1213237796
不接受对其他插件维护的委托
回复 支持 反对

使用道具 举报

Lv3.寻梦者

梦石
0
星屑
2509
在线时间
2358 小时
注册时间
2012-3-1
帖子
735
5
 楼主| 发表于 2017-5-25 22:43:32 | 只看该作者
本帖最后由 卡奥尼特 于 2017-5-25 22:51 编辑
fux2 发表于 2017-5-25 22:08
Spriteset_Map里面,你得先新建一个viewport,因为默认地图和人物都在viewport1,然后在update里面不更新新 ...



嗯,這個好像只提供了思路吧。     自己測試了下雖然地圖色調被改變,事件的色調並沒有被改變呢。
好像默認的更改畫面色調只改變了viewport2?? (嗯,腳本盲沒看懂。)

回复 支持 反对

使用道具 举报

Lv4.逐梦者

梦石
0
星屑
7175
在线时间
1679 小时
注册时间
2017-4-28
帖子
85

开拓者

6
发表于 2017-5-26 00:28:41 | 只看该作者
你的意思是指定的事件及主角不變色, 其他事件會變?
你的要求不太能看明白....
  1. class Game_Event
  2.   attr_reader   :name
  3.   
  4.   def name
  5.       return @event.name  
  6.   end
  7. end


  8. class Spriteset_Map
  9.   def create_viewports
  10.     @viewport1 = Viewport.new
  11.     @viewportX = Viewport.new
  12.     @viewport2 = Viewport.new
  13.     @viewport3 = Viewport.new
  14.     @viewportX.z = 25
  15.     @viewport2.z = 50
  16.     @viewport3.z = 100
  17.   end



  18. def create_characters
  19.     @character_sprites = []
  20.     $game_map.events.values.each do |event|
  21.       if event.name =~ /<c>/i
  22.       @character_sprites.push(Sprite_Character.new(@viewportX, event))
  23.       else
  24.       @character_sprites.push(Sprite_Character.new(@viewport1, event))
  25.       end
  26.       end
  27.     $game_map.vehicles.each do |vehicle|
  28.       @character_sprites.push(Sprite_Character.new(@viewportX, vehicle))
  29.     end
  30.     $game_player.followers.reverse_each do |follower|
  31.       @character_sprites.push(Sprite_Character.new(@viewportX, follower))
  32.     end
  33.     @character_sprites.push(Sprite_Character.new(@viewportX, $game_player))
  34.     @map_id = $game_map.map_id
  35.   end
  36.   
  37.   def update_viewports
  38.     @viewport1.tone.set($game_map.screen.tone)
  39.     @viewport1.ox = $game_map.screen.shake
  40.     @viewportX.ox = $game_map.screen.shake
  41.     @viewport2.color.set($game_map.screen.flash_color)
  42.     @viewport3.color.set(0, 0, 0, 255 - $game_map.screen.brightness)
  43.     @viewport1.update
  44.     @viewportX.update
  45.     @viewport2.update
  46.     @viewport3.update
  47.   end
  48.   
  49.   def dispose_viewports
  50.     @viewport1.dispose
  51.     @viewport2.dispose
  52.     @viewport3.dispose
  53.     @viewportX.dispose
  54.   end
  55.   end
复制代码


樓上的code多加兩句就可以了吧
指定事件的方法: 在事件的名稱加上
  1. <c>
复制代码


測試圖:

bandicam 2017-05-26 00-16-24-516.jpg (86.85 KB, 下载次数: 22)

bandicam 2017-05-26 00-16-24-516.jpg

点评

因為看了你的測試圖,畢竟不是GIF,我沒看出效果來。  发表于 2017-5-26 11:58

评分

参与人数 1星屑 +48 收起 理由
king + 48 精品文章

查看全部评分

回复 支持 反对

使用道具 举报

Lv3.寻梦者

梦石
0
星屑
2509
在线时间
2358 小时
注册时间
2012-3-1
帖子
735
7
 楼主| 发表于 2017-5-26 00:50:22 | 只看该作者
本帖最后由 卡奥尼特 于 2017-5-26 12:01 编辑
gforce 发表于 2017-5-26 00:28
你的意思是指定的事件及主角不變色, 其他事件會變?
你的要求不太能看明白....



好吧,收回前言。測試了下是成功了呢。 那,如果要包括玩家一起受影響要怎麼辦呢?
(也就是直接執行變換畫面色調,所有畫面均受影響。我的意思是,如果不使用此功能的話。 )
回复 支持 反对

使用道具 举报

Lv5.捕梦者

梦石
0
星屑
31881
在线时间
5079 小时
注册时间
2012-11-19
帖子
4877

开拓者

8
发表于 2017-5-26 08:07:31 | 只看该作者
6L的效果不就是只改变地图色调么!
当然,有选择性的指定某事件或玩家不受色调影响,这个就比较麻烦。
不可能一个事件或角色用一个显示端口。或者事件和角色的色调,就用色调颜色来填充其本身的精灵,不受影响的事件或角色就不填充。

点评

以色調顏色填充本身精靈…… VA有麼? 0.0   发表于 2017-5-26 12:28
因為6L只給出了一張瀏覽圖,所以我沒看出效果來。。  发表于 2017-5-26 12:13
xp vx va mv  va mz 各类型脚本/插件定制
回复 支持 反对

使用道具 举报

Lv3.寻梦者 (暗夜天使)

精灵族の天使

梦石
0
星屑
1697
在线时间
3038 小时
注册时间
2007-3-16
帖子
33731

开拓者贵宾

9
发表于 2017-5-26 16:03:05 | 只看该作者
给你个思路
如果事件名字里包含“不变色”的特殊字符,就可以不影响他的色调转换。
很多脚本都可以这样做呢

点评

不添加标记的事件就和之前的普通事件一样  发表于 2017-5-28 10:03
嗯,恕我不懂脚本。。。  发表于 2017-5-26 16:45
嗯,之前测试了,确实有效(他的毕竟当时他的截图我没看出效果来)。 如果我在某些情况下不使用它的话要怎么做 0.0  发表于 2017-5-26 16:42
追加,似乎某个楼层【6楼】已经实现目标了  发表于 2017-5-26 16:04
回复 支持 反对

使用道具 举报

Lv3.寻梦者

梦石
0
星屑
2509
在线时间
2358 小时
注册时间
2012-3-1
帖子
735
10
 楼主| 发表于 2017-5-26 16:55:12 | 只看该作者
精灵使者 发表于 2017-5-26 16:03
给你个思路
如果事件名字里包含“不变色”的特殊字符,就可以不影响他的色调转换。
很多脚本都可以这样做呢 ...

或许我的表达能力有些缺陷。
脚本确实测试成功了,毕竟。7L的截图,我没看出什么效果来。具体还是要自己去测试的。

然后,虽然能实现这样的效果了,如果不想使用以及想用回原来的更改画面色调的功能,也不知道怎么做

恕我脚本小白。。。。。。 也从来没写过脚本= =、

点评

事件如果没有那个标记,就是遵守原来的“更改画面色调”的功能  发表于 2017-5-28 10:04
那就直接使用默认和事件不添加标记就行了  发表于 2017-5-28 10:03
回复 支持 反对

使用道具 举报

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

本版积分规则

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

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

GMT+8, 2024-4-20 10:19

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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