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

Project1

 找回密码
 注册会员
搜索
12
返回列表 发新帖
楼主: 卡奥尼特
打印 上一主题 下一主题

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

[复制链接]

Lv5.捕梦者 (管理员)

老黄鸡

梦石
0
星屑
39832
在线时间
7490 小时
注册时间
2009-7-6
帖子
13485

开拓者贵宾

11
发表于 2017-5-26 23:37:20 | 只看该作者
卡奥尼特 发表于 2017-5-25 22:43
嗯,這個好像只提供了思路吧。     自己測試了下雖然地圖色調被改變,事件的色調並沒有被改變 ...

你不是要求不改变事件的色调吗?
RGDirect - DirectX驱动的RGSS,点我了解.
RM全系列成套系统定制请联系QQ1213237796
不接受对其他插件维护的委托
回复 支持 反对

使用道具 举报

Lv3.寻梦者

梦石
0
星屑
2609
在线时间
2375 小时
注册时间
2012-3-1
帖子
739
12
 楼主| 发表于 2017-5-27 01:21:17 | 只看该作者
本帖最后由 卡奥尼特 于 2017-5-27 01:26 编辑
fux2 发表于 2017-5-26 23:37
你不是要求不改变事件的色调吗?


嗯,我确实说过。 然后6L也给了脚本,因为只有一张浏览图,所以我没看出什么效果。

因为那时候没亲自去测试,所以当时判断得很果断。。

然后呢,如果我。某些情况下不想使用这样的功能的话,也不知道该怎么办。

毕竟脚本盲,因为我本来就不擅长写代码。。。 抱歉。
回复 支持 反对

使用道具 举报

Lv4.逐梦者

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

开拓者

13
发表于 2017-5-27 14:19:56 | 只看该作者
嗯,我确实说过。 然后6L也给了脚本,因为只有一张浏览图,所以我没看出什么效果。

因为那时候没亲自去测试,所以当时判断得很果断。。

然后呢,如果我。某些情况下不想使用这样的功能的话,也不知道该怎么办。

毕竟脚本盲,因为我本来就不擅长写代码。。。 抱歉。



那個腳本大部分都是4樓/11樓為你寫的

基於我的理解,viewport好像一塊畫板,默認地圖跟事件都預設畫在同一塊畫板上面

RM的地圖色調改變其實是畫板的色調改變,所以它們會一起變。

一開始你的要求是 "單純的更改地圖的色調, 主角以及事件均不受影響"。 所以11樓為你增加了一塊畫板,事件都畫在這一塊不會變色的畫板上面。

基本上滿足了你一開始的要求。


後來發現你其實還是想改變事件的色調?

於是我在11樓的腳本上加上一個條件分岐,名字帶<c>的才畫在新畫板上面。

然後你現在想要一個取消腳本效果的開關?

寫一個開關不是問題,感覺要理解你真正想要的效果是什麼才是大問題..沒玩過什麼UT..

  1. module CANOITE_VIEWPORT
  2.   
  3.   CAONITE_SWITCHES_ID = 1 #系統開關編號
  4.   
  5. end

  6. class Game_Event
  7.   attr_reader   :name
  8.   
  9.   def name
  10.       return @event.name  
  11.   end
  12. end


  13. class Spriteset_Map
  14.   def create_viewports
  15.     @viewport1 = Viewport.new
  16.     @viewportX = Viewport.new
  17.     @viewport2 = Viewport.new
  18.     @viewport3 = Viewport.new
  19.     @viewportX.z = 25
  20.     @viewport2.z = 50
  21.     @viewport3.z = 100
  22.   end



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


預設開關 1 開啟/結束 腳本效果

不過已經畫在畫板上的事件還得重畫一次才行

開啟腳本效果的場合,於事件中陷入腳本
  1. $game_switches[CANOITE_VIEWPORT::CAONITE_SWITCHES_ID] = true
  2. SceneManager.call(Scene_Map)
复制代码


結束腳本效果的場合,於事件中陷入腳本
  1. $game_switches[CANOITE_VIEWPORT::CAONITE_SWITCHES_ID] = false
  2. SceneManager.call(Scene_Map)
复制代码


開關的時候畫面會頓一下, 這個在下解決不了

如果這個腳本不能滿足你,只能說在下沒本事解決你的問題

点评

嗯,已經可以了。。  发表于 2017-5-27 14:53

评分

参与人数 2星屑 +45 梦石 +1 收起 理由
RaidenInfinity + 1 认可答案
卡奥尼特 + 45 測試可用。

查看全部评分

回复 支持 反对

使用道具 举报

Lv3.寻梦者

梦石
0
星屑
2609
在线时间
2375 小时
注册时间
2012-3-1
帖子
739
14
 楼主| 发表于 2017-5-27 15:01:24 | 只看该作者
本帖最后由 卡奥尼特 于 2017-5-27 15:27 编辑
gforce 发表于 2017-5-27 14:19
那個腳本大部分都是4樓/11樓為你寫的

基於我的理解,viewport好像一塊畫板,默認地圖跟事件都預設畫在同 ...

在自己的測試工程測試了下這腳本,測試可用。

畢竟,我一開始的需求的初衷就是這些

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

也許我的表達能力不夠好,所以我理想中的和你們理解中的可能會有些差異。


然後4樓給出了思路,只是,我並不會Ruby,並且不擅長寫代碼,所以暫時先等下一人回覆

然後6樓也增加了可以指定不受影響的NPC。這些呢,基本已經滿足我的需求了。


雖然指定了是指定了,但我覺得少了點什麼, 就是開關。 某些情況下暫時不想用這功能。

至於其他方面,我會自己想辦法。 (比如主角自己。)

寫一個開關不是問題,感覺要理解你真正想要的效果是什麼才是大問題..沒玩過什麼UT..

嗚,畢竟我的表達方面不是很擅長,所以我理想中的和妳們理解當中的可能會有些差異。。
UT就是傳說之下了 0.0
回复 支持 反对

使用道具 举报

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

本版积分规则

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

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

GMT+8, 2024-5-8 07:27

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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