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

Project1

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

[已经解决] 有没有解除VA图块32行上限的方法?

[复制链接]

Lv3.寻梦者

梦石
0
星屑
1881
在线时间
414 小时
注册时间
2012-7-30
帖子
82
跳转到指定楼层
1
发表于 2014-6-4 20:20:28 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式

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

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

x
本帖最后由 duoduo1009215 于 2014-6-6 18:42 编辑

如图,这下拉条能突破限制吗

BaiduShurufa_2014-6-4_20-18-20.png (243.13 KB, 下载次数: 40)

BaiduShurufa_2014-6-4_20-18-20.png

Lv1.梦旅人

梦石
0
星屑
70
在线时间
80 小时
注册时间
2014-4-12
帖子
167
2
发表于 2014-6-4 21:18:02 | 只看该作者
我觉得。。。不能吧
不过你是在想突破,也可以,你搞下软件呗
对了,哈,我突然想到,va没开源
回复 支持 反对

使用道具 举报

Lv4.逐梦者 (版主)

无限の剣制

梦石
0
星屑
10074
在线时间
5020 小时
注册时间
2013-2-28
帖子
5030

开拓者贵宾

3
发表于 2014-6-4 21:38:27 | 只看该作者
那么多图块不够用?实在不够就用图片遮蔽啊{:8_449:}
回复 支持 反对

使用道具 举报

Lv5.捕梦者 (暗夜天使)

只有笨蛋才会看到

梦石
1
星屑
21681
在线时间
9418 小时
注册时间
2012-6-19
帖子
7119

开拓者短篇九导演组冠军

4
发表于 2014-6-4 22:25:44 | 只看该作者
只画一张地图你究竟打算用多少个图块…………
回复 支持 反对

使用道具 举报

Lv4.逐梦者 (版主)

梦石
1
星屑
6661
在线时间
2650 小时
注册时间
2013-8-23
帖子
2315

开拓者

5
发表于 2014-6-4 22:34:31 | 只看该作者
ABCDE五层图块层也够用了,实在不够还可以用远景图
回复 支持 反对

使用道具 举报

Lv5.捕梦者

梦石
0
星屑
22973
在线时间
8639 小时
注册时间
2011-12-31
帖子
3367
6
发表于 2014-6-4 22:39:29 | 只看该作者
ABCDE五层图块层也够用了,
也可以用远景图,
实在不够還可用多layer(毎layer可用不同图块組)
回复 支持 反对

使用道具 举报

Lv4.逐梦者 (版主)

无限の剣制

梦石
0
星屑
10074
在线时间
5020 小时
注册时间
2013-2-28
帖子
5030

开拓者贵宾

7
发表于 2014-6-4 22:44:16 | 只看该作者
本帖最后由 VIPArcher 于 2014-6-4 22:45 编辑

还有这个脚本Overlay 有耐心可以做得非常漂亮(丧心病狂的耐心,
你得慢慢研究这货
[mw_shl_code=ruby,true]#==============================================================================
#
# ▼ Yami Script Ace - Overlay Mapping
# -- Last Updated: 2011.12.29
# -- Level: Easy
# -- Requires: n/a
# -- Credit: Hanzo Kimura for Original Script
#
#==============================================================================

$imported = {} if $imported.nil?
$imported["YSA-OverlayMapping"] = true

#==============================================================================
# ▼ Updates
# =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
# 2011.12.29 - Bugfix for transfer.
# 2011.12.10 - Started and Finished Script.
#
#==============================================================================
# ▼ Introduction
# =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
# This script based on Hanzo Kimura's idea. This will automatically load map's
# overlay by map ID, and a map can have more than one image per layer, so you
# don't have to create two or more map just for day/night or when an event occur.
#
#==============================================================================
# ▼ Instructions
# =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
# Create a folder in Graphics and name it Overlay.
# Put all of your overlay into Graphics/Overlay.
# Your overlay file will have the name: "Filename Prefix" + Map-ID + "-" + Number
# which "Filename Prefix" is the one you will config below
# Map-ID is your map's ID
# Number is 1, 2, 3, ... using for Overlay Variables.
#
# Example: Graphics/Overlay/ground2-1.png
# Which means this will be ground layer, for map 2, variable = 1
#
# Light/Shadow must be .jpg
# Parallax/Ground must be .png
#
#==============================================================================

module YSA
  module OVERLAY
    #=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
    # - Overlay Switches -
    #=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
    # These are switches which are enable overlay layers. Turn them on to show
    # them in your maps.
    #--------------------------------------------------------------------------
    # Default: ON
    #=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
    LIGHT_SWITCH = 16        # Turn on/off light layer
    SHADOW_SWITCH = 17       # Turn on/off shadow layer
    PARALLAX_SWITCH = 18     # Turn on/off parallax layer
    GROUND_SWITCH = 19       # Turn on/off ground layer

    #=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
    # - Overlay Variables -
    #=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
    # A map can have more than one image per layer, that means you can have a
    # different light/shadow for day and night, or have a different ground when
    # an event occured.
    #--------------------------------------------------------------------------
    # Default: 1
    #=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
    LIGHT_VARIABLE = 8      # Switch to another light
    SHADOW_VARIABLE = 8     # Switch to another shadow
    PARALLAX_VARIABLE = 7   # Switch to another parallax
    GROUND_VARIABLE = 7     # Switch to another ground
   
    #=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
    # - Filename Prefix -
    #=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
    # This will make this script automatic, it will check if there are layers in
    # overlay folder
    #=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
    LIGHT = "light"         # Light layer's filename prefix
    SHADOW = "shadow"       # Shadow layer's filename prefix
    PARALLAX = "par"        # Parallax layer's filename prefix
    GROUND = "ground"       # Ground layer's filename prefix
   
    #=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
    # - Overlay Opacity -
    #=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
    # This will make this script automatic, it will check if there are layers in
    # overlay folder
    #=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
    GROUND_OPACITY = 255
    PARALLAX_OPACITY = 255
    LIGHT_OPACITY = 128
    SHADOW_OPACITY = 96
  end #OVERLAY
end # YSA

#==============================================================================
# ▼ Editting anything past this point may potentially result in causing
# computer damage, incontinence, explosion of user's head, coma, death, and/or
# halitosis so edit at your own risk.
#==============================================================================

#==============================================================================
# ■ Cache
#==============================================================================

module Cache
  
  #--------------------------------------------------------------------------
  # new method: overlay
  #--------------------------------------------------------------------------
  def self.overlay(filename)
    load_bitmap("Graphics/Overlay/", filename)
  end
  
end # Cache

#==============================================================================
# ■ DataManager
#==============================================================================

module DataManager
  
  #--------------------------------------------------------------------------
  # alias method: setup_new_game
  #--------------------------------------------------------------------------
  class <<self; alias ovm_setup_new_game setup_new_game; end
  def self.setup_new_game
    ovm_setup_new_game
    setup_overlay_mapping
  end
  
  #--------------------------------------------------------------------------
  # new method: setup_overlay_mapping
  #--------------------------------------------------------------------------
  def self.setup_overlay_mapping
    # Control switches
    $game_switches[YSA::OVERLAY::LIGHT_SWITCH] = true
    $game_switches[YSA::OVERLAY::SHADOW_SWITCH] = true
    $game_switches[YSA::OVERLAY::GROUND_SWITCH] = true
    $game_switches[YSA::OVERLAY::PARALLAX_SWITCH] = true
   
    # Control variables
    $game_variables[YSA::OVERLAY::LIGHT_VARIABLE] = 1
    $game_variables[YSA::OVERLAY::SHADOW_VARIABLE] = 1
    $game_variables[YSA::OVERLAY::GROUND_VARIABLE] = 1
    $game_variables[YSA::OVERLAY::PARALLAX_VARIABLE] = 1
  end
  
end # DataManager

#==============================================================================
# ■ Spriteset_Map
#==============================================================================

class Spriteset_Map
  
  #--------------------------------------------------------------------------
  # alias method: initialize
  #--------------------------------------------------------------------------
  alias overlay_initialize initialize
  def initialize
    overlay_initialize
    create_overlay_map
    update
  end
  
  #--------------------------------------------------------------------------
  # new method: check_file
  #--------------------------------------------------------------------------
  def check_file(type)
    filename = "Graphics/Overlay/"
    filename += YSA::OVERLAY::GROUND if type == "ground"
    filename += YSA::OVERLAY::LIGHT if type == "light"
    filename += YSA::OVERLAY::SHADOW if type == "shadow"
    filename += YSA::OVERLAY::PARALLAX if type == "par"
    filename += $game_map.map_id.to_s
    filename += "-" + $game_variables[YSA::OVERLAY::GROUND_VARIABLE].to_s if type == "ground"
    filename += "-" + $game_variables[YSA::OVERLAY::LIGHT_VARIABLE].to_s if type == "light"
    filename += "-" + $game_variables[YSA::OVERLAY::SHADOW_VARIABLE].to_s if type == "shadow"
    filename += "-" + $game_variables[YSA::OVERLAY::PARALLAX_VARIABLE].to_s if type == "par"
    filename += ".jpg" if type == "light" || type == "shadow"
    filename += ".png" if type == "par" || type == "ground"
    return FileTest.exist?(filename)
  end
  
  #--------------------------------------------------------------------------
  # new method: create_overlay_map
  #--------------------------------------------------------------------------
  def create_overlay_map
    w = Graphics.width
    h = Graphics.height
    @current_light = 0
    @current_shadow = 0
    @current_par = 0
    @current_ground = 0
    # Ground Layer
    @ground = Sprite.new(@viewport1)
    @ground.z = 0#1  ###SR
    @ground.opacity = YSA::OVERLAY::GROUND_OPACITY
    # Light Layer
    @light_viewport = Viewport.new(0, 0, w, h)
    @light_viewport.z = 10
    @light = Sprite.new(@light_viewport)
    @light.opacity = YSA::OVERLAY::LIGHT_OPACITY
    @light.blend_type = 1
    # Shadow Layer
    @shadow_viewport = Viewport.new(0, 0, w, h)
    @shadow_viewport.z = 9
    @Shadow = Sprite.new(@shadow_viewport)
    @shadow.opacity = YSA::OVERLAY::SHADOW_OPACITY
    @shadow.blend_type = 2
    # Parallax Layer
    @par_viewport = Viewport.new(0, 0, w, h)
    @par_viewport.z = 0#8  ###SR
    @par = Sprite.new(@par_viewport)
    @par.opacity = YSA::OVERLAY::PARALLAX_OPACITY
  end
  
  #--------------------------------------------------------------------------
  # alias method: dispose_parallax
  #--------------------------------------------------------------------------
  alias overlay_dispose_parallax dispose_parallax
  def dispose_parallax
    overlay_dispose_parallax
    dispose_overlay_map
  end
  
  #--------------------------------------------------------------------------
  # new method: dispose_overlay_map
  #--------------------------------------------------------------------------
  def dispose_overlay_map
    @ground.dispose
    @shadow_viewport.dispose
    @light_viewport.dispose
    @light.dispose
    @shadow.dispose
    @par_viewport.dispose
    @par.dispose
  end
  
  #--------------------------------------------------------------------------
  # alias method: update_parallax
  #--------------------------------------------------------------------------
  alias overlay_update_parallax update_parallax
  def update_parallax
    overlay_update_parallax
    # Parallax
    if @ground != nil
      if check_file("ground")
        @ground.visible = $game_switches[YSA::OVERLAY::GROUND_SWITCH] if @ground.visible != $game_switches[YSA::OVERLAY::GROUND_SWITCH]
        @ground.ox = $game_map.display_x * 32 if @ground.ox != $game_map.display_x * 32
        @ground.oy = $game_map.display_y * 32 if @ground.oy != $game_map.display_y * 32
        #@ground.tone = $game_map.screen.tone  #SR fix
        if @current_ground != $game_variables[YSA::OVERLAY::GROUND_VARIABLE]
          filename = YSA::OVERLAY::GROUND
          filename += $game_map.map_id.to_s
          filename += "-" + $game_variables[YSA::OVERLAY::GROUND_VARIABLE].to_s
          @ground.bitmap = Cache.overlay(filename)
          @current_ground = $game_variables[YSA::OVERLAY::GROUND_VARIABLE]
        end
      else
        @ground.visible = false
      end
    end
    # Light
    if @light != nil && @light_viewport != nil
      if check_file("light")
        @light.visible = $game_switches[YSA::OVERLAY::LIGHT_SWITCH] if @light.visible != $game_switches[YSA::OVERLAY::LIGHT_SWITCH]
        @light.ox = $game_map.display_x * 32 if @light.ox != $game_map.display_x * 32
        @light.oy = $game_map.display_y * 32 if @light.oy != $game_map.display_y * 32
        @light.tone = $game_map.screen.tone
        @light_viewport.ox = $game_map.screen.shake
        @light_viewport.color = $game_map.screen.flash_color
        if @current_light != $game_variables[YSA::OVERLAY::LIGHT_VARIABLE]
          filename = YSA::OVERLAY::LIGHT
          filename += $game_map.map_id.to_s
          filename += "-" + $game_variables[YSA::OVERLAY::LIGHT_VARIABLE].to_s
          @light.bitmap = Cache.overlay(filename)
          @current_light = $game_variables[YSA::OVERLAY::LIGHT_VARIABLE]
        end
      else
        @light.visible = false
      end   
    end
    # Shadow
    if @shadow != nil && @shadow_viewport != nil
      if check_file("shadow")
        @shadow.visible = $game_switches[YSA::OVERLAY::SHADOW_SWITCH] if @shadow.visible != $game_switches[YSA::OVERLAY::SHADOW_SWITCH]
        @shadow.ox = $game_map.display_x * 32 if @shadow.ox != $game_map.display_x * 32
        @shadow.oy = $game_map.display_y * 32 if @shadow.oy != $game_map.display_y * 32
        @shadow.tone = $game_map.screen.tone
        @shadow_viewport.ox = $game_map.screen.shake
        @shadow_viewport.color = $game_map.screen.flash_color
        if @current_shadow != $game_variables[YSA::OVERLAY::SHADOW_VARIABLE]
          filename = YSA::OVERLAY::SHADOW
          filename += $game_map.map_id.to_s
          filename += "-" + $game_variables[YSA::OVERLAY::SHADOW_VARIABLE].to_s
          @shadow.bitmap = Cache.overlay(filename)
          @current_shadow = $game_variables[YSA::OVERLAY::SHADOW_VARIABLE]
        end
      else
        @shadow.visible = false
      end
    end
    # Parallax
    if @par != nil && @par_viewport != nil
      if check_file("par")
        @par.visible = $game_switches[YSA::OVERLAY::PARALLAX_SWITCH] if @par.visible != $game_switches[YSA::OVERLAY::PARALLAX_SWITCH]
        @par.ox = $game_map.display_x * 32 if @par.ox != $game_map.display_x * 32
        @par.oy = $game_map.display_y * 32 if @par.oy != $game_map.display_y * 32
        @par.tone = $game_map.screen.tone
        @par_viewport.ox = $game_map.screen.shake
        @par_viewport.color = $game_map.screen.flash_color
        if @current_par != $game_variables[YSA::OVERLAY::PARALLAX_VARIABLE]
          filename = YSA::OVERLAY::PARALLAX
          filename += $game_map.map_id.to_s
          filename += "-" + $game_variables[YSA::OVERLAY::PARALLAX_VARIABLE].to_s
          @par.bitmap = Cache.overlay(filename)
          @current_par = $game_variables[YSA::OVERLAY::PARALLAX_VARIABLE]
        end
      else
        @par.visible = false
      end
    end
  end
  
end # Spriteset_Map

#==============================================================================
# ■ Scene_Map
#==============================================================================

class Scene_Map < Scene_Base
  
  #--------------------------------------------------------------------------
  # alias method: post_transfer
  #--------------------------------------------------------------------------
  alias overlay_post_transfer post_transfer
  def post_transfer
    @spriteset.dispose_overlay_map
    @spriteset.create_overlay_map
    @spriteset.update
    overlay_post_transfer
  end

end # Scene_Map

#==============================================================================
#
# ▼ End of File
#
#==============================================================================[/mw_shl_code]

评分

参与人数 1星屑 +150 收起 理由
taroxd + 150 认可答案

查看全部评分

回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
151
在线时间
208 小时
注册时间
2012-7-10
帖子
170
8
发表于 2014-6-5 14:37:02 | 只看该作者
多的东西你可以用事件来绘制,不一定全用图块来绘制……

评分

参与人数 1星屑 +66 收起 理由
taroxd + 66 认可答案

查看全部评分

事件只会越用越熟,在用脚本前想想能否能用事件简便处理
回复 支持 反对

使用道具 举报

Lv3.寻梦者

梦石
0
星屑
1881
在线时间
414 小时
注册时间
2012-7-30
帖子
82
9
 楼主| 发表于 2014-6-5 19:59:29 | 只看该作者
最后制帽匠 发表于 2014-6-5 14:37
多的东西你可以用事件来绘制,不一定全用图块来绘制……

这样还得改成行走图{:2_263:}

点评

固定方向,就可以当做一个单独的图块了,不是很方便么,这样也不受地图类型的限制  发表于 2014-6-5 20:44
为什么要改成行走图?  发表于 2014-6-5 20:22
回复 支持 反对

使用道具 举报

Lv3.寻梦者

梦石
0
星屑
1881
在线时间
414 小时
注册时间
2012-7-30
帖子
82
10
 楼主| 发表于 2014-6-5 20:02:54 | 只看该作者
VIPArcher 发表于 2014-6-4 22:44
还有这个脚本Overlay 有耐心可以做得非常漂亮(丧心病狂的耐心,
你得慢慢研究这货
[mw_shl_code=ruby,true ...

这脚本是什么情况{:2_270:}

点评

看脚本前方的说明啦~  发表于 2014-6-6 14:50
回复 支持 反对

使用道具 举报

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

本版积分规则

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

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

GMT+8, 2024-11-24 01:26

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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