Страница 568 из 643 ПерваяПервая ... 68468518558566567568569570578618 ... ПоследняяПоследняя
Показано с 5,671 по 5,680 из 6423

Тема: Общие вопросы

  1. #5671

    По умолчанию

    Цитата Сообщение от Gremlin Посмотреть сообщение
    Спасибо. Только я совсем "не бум бум", что значит "Paste this script above Main." . Где этот Main?
    Нажать F11 и прокрутить левый список в самый низ, там будет Main. Нажать на него пкм и выбрать "Добавить". Потом в текстовое поле в правой части вставить скрипт.

    Там во втором сообщении ещё небольшое исправление для регулировки громкости музыки, нужно его заменить в коде. Ну, либо взять
    Спойлер уже исправленный код:
    Код:
    # coding: utf-8
    #===============================================================================
    # ■ Master Volume Control for RGSS3
    #-------------------------------------------------------------------------------
    # 2016/04/23 By Ru/むっくRu (Rutan) | English translation by tale 2017/02/10
    # License - Public Domain
    #-------------------------------------------------------------------------------
    # Add functions related to volume adjustment
    #
    # ● Volume adjustment - items are added to the title screen and main menu
    #
    # ● Audio - The following items are added to the module
    # Audio.bgm_vol …… BGM
    # Audio.bgs_vol …… BGS
    # Audio.se_vol  …… SE
    # Audio.me_vol  …… ME
    # Audio.bgm_vol=Numerical variable …… BGM(0~100)
    # Audio.bgs_vol=Numerical variable …… BGS(0~100)
    # Audio.se_vol=Numerical variable  …… SE(0~100)
    # Audio.me_vol=Numerical variable  …… ME(0~100)
    #
    #-------------------------------------------------------------------------------
    # 【Changelogs】
    # 2016/04/23 Code reorganized
    # 2013/05/25 Fixed error drop when changing type of volume change item
    # 2012/12/17 Allows the volume to be saved without the base script. (Script organization)
    # 2012/06/13 Redesign layout. Added setting item. (Organizing scripts)
    # 2012/01/02 Ini changed reading HZM_VXA base script for RGSS3 (Change to dependent)
    # 2011/12/29 BGS Fixed a bug that causes error during playback
    # 2011/12/26 BGM Fixed a bug that causes the volume to be adjusted when mute
    # 2011/12/13 ini Allows cooperation with reading
    # 2011/12/01 Released
    #-------------------------------------------------------------------------------
    
    #===============================================================================
    # ● Item settings
    #===============================================================================
    module HZM_VXA
      module AudioVol
        # ● Do you want to display the volume adjustment on the title screen?
        #    ※To redefine the menu items on the title screen,
        #      If you introduce another script that tamper with the menu titles
        #      There's a possibility of conflict.
        #  true  …… Display
        #  false …… Don't display
        TITLE_FLAG = true
        # Item name to be displayed on title screen
        TITLE_NAME        = "Volume Control"
    
        # ● Do you want the volume adjustment displayed on the menu screen?
        #  true  …… Display
        #  false …… Don't display
        MENU_FLAG = true
        # Name of the setting in Main Menu.
        MENU_NAME        = "Volume Control"
    
        # ● Types of Volume arrangement
        #  0 …… BGM/BGS/SE/ME Set all at once
        #   1 …… BGM+BGS と SE+ME Set with 2 kinds of
        #   2 …… BGM/BGS/SE/ME Set by each of 4 types
        TYPE = 2
    
        # ● Volume Control Settings Name.
        CONFIG_ALL_NAME  = "Volume"        # Used when type "0" is selected
        CONFIG_BGM_NAME  = "BGM"         # Used when type "1" "2" is selected
        CONFIG_BGS_NAME  = "BGS"         # Used when type "2" is selected
        CONFIG_SE_NAME   = "SE"          # Used when type "1" "2" is selected
        CONFIG_ME_NAME   = "ME"          # Used when type "2" is selected
        CONFIG_EXIT_NAME = "Exit"
    
        # ● Volume adjustment by Increments
        ADD_VOL_NORMAL =  5              # Amount of increment of left and right keys
        ADD_VOL_HIGH   = 25              # LR Variation amount of key
    
        # ● Window width of volume setting screen
        WINDOW_WIDTH   = 200
    
        # ● Volume gauge color from the menu interface
        COLOR1 = Color.new(255, 255, 255)
        COLOR2 = Color.new( 64,  64, 255)
    
        # ● Save function of volume setting
        #    Game.ini, By storing volume information in
        #    You can also adjust the volume when you start up
        #    true  …… Save
        #    false …… Don't save
        USE_INI = true
      end
    end
    
    #===============================================================================
    # ↑ Set up here ↑
    # ↓ or less, script part ↓
    #===============================================================================
    
    module Audio
      #-----------------------------------------------------------------------------
      # ● Volume setting: BGM
      #-----------------------------------------------------------------------------
      def self.bgm_vol=(vol)
        @hzm_vxa_audioVol_bgm = self.vol_range(vol)
      end
      #-----------------------------------------------------------------------------
      # ● Volume setting: BGS
      #-----------------------------------------------------------------------------
      def self.bgs_vol=(vol)
        @hzm_vxa_audioVol_bgs = self.vol_range(vol)
      end
      #-----------------------------------------------------------------------------
      # ● Volume setting: SE
      #-----------------------------------------------------------------------------
      def self.se_vol=(vol)
        @hzm_vxa_audioVol_se = self.vol_range(vol)
      end
      #-----------------------------------------------------------------------------
      # ● Volume setting: ME
      #-----------------------------------------------------------------------------
      def self.me_vol=(vol)
        @hzm_vxa_audioVol_me = self.vol_range(vol)
      end
      #-----------------------------------------------------------------------------
      # ● Volume range specification
      #-----------------------------------------------------------------------------
      def self.vol_range(vol)
        vol = vol.to_i
        vol < 0 ? 0 : vol < 100 ? vol : 100
      end
      #-----------------------------------------------------------------------------
      # ● Volume acquisition: BGM
      #-----------------------------------------------------------------------------
      def self.bgm_vol
        @hzm_vxa_audioVol_bgm ||= 100
      end
      #-----------------------------------------------------------------------------
      # ● Volume acquisition: BGS
      #-----------------------------------------------------------------------------
      def self.bgs_vol
        @hzm_vxa_audioVol_bgs ||= 100
      end
      #-----------------------------------------------------------------------------
      # ● Volume acquisition: SE
      #-----------------------------------------------------------------------------
      def self.se_vol
        @hzm_vxa_audioVol_se ||= 100
      end
      #-----------------------------------------------------------------------------
      # ● Volume acquisition: ME
      #-----------------------------------------------------------------------------
      def self.me_vol
        @hzm_vxa_audioVol_me ||= 100
      end
    end
    
    class << Audio
      #-----------------------------------------------------------------------------
      # ● Playback: BGM
      #-----------------------------------------------------------------------------
      alias hzm_vxa_audioVol_bgm_play bgm_play
      def bgm_play(filename, volume = 100, pitch = 100, pos = 0)
        hzm_vxa_audioVol_bgm_play(filename, self.bgm_vol * volume / 100, pitch, pos)
      end
      #-----------------------------------------------------------------------------
      # ● Playback: BGS
      #-----------------------------------------------------------------------------
      alias hzm_vxa_audioVol_bgs_play bgs_play
      def bgs_play(filename, volume = 100, pitch = 100, pos = 0)
        hzm_vxa_audioVol_bgs_play(filename, self.bgs_vol * volume / 100, pitch, pos)
      end
      #-----------------------------------------------------------------------------
      # ● Playback: SE
      #-----------------------------------------------------------------------------
      alias hzm_vxa_audioVol_se_play se_play
      def se_play(filename, volume = 100, pitch = 100)
        hzm_vxa_audioVol_se_play(filename, self.se_vol * volume / 100, pitch)
      end
      #-----------------------------------------------------------------------------
      # ● Playback: ME
      #-----------------------------------------------------------------------------
      alias hzm_vxa_audioVol_me_play me_play
      def me_play(filename, volume = 100, pitch = 100)
        hzm_vxa_audioVol_me_play(filename, self.me_vol * volume / 100, pitch)
      end
      #-----------------------------------------------------------------------------
      # ● Old Version Compatibility
      #-----------------------------------------------------------------------------
      if true
        alias volBGM bgm_vol
        alias volBGS bgs_vol
        alias volSE se_vol
        alias volME me_vol
        alias volBGM= bgm_vol=
        alias volBGS= bgs_vol=
        alias volSE= se_vol=
        alias volME= me_vol=
      end
    end
    
    # For the title screen
    if HZM_VXA::AudioVol::TITLE_FLAG
      class Window_TitleCommand < Window_Command
        if true
          # ↑ If you change true to false,
          #    This makes the menu items on title screen aliased instead of redefining
          #    It will be implemented.
          #    Conflicting with other menu titles extended scripts would be unlikely to happen,
          #    As a side effect, the volume setting item is added under shutdown.
          #    According to your needs……(・x・)
          #---------------------------------------------------------------------------
          # ● Create command list (redefinition)
          #---------------------------------------------------------------------------
          def make_command_list
            add_command(Vocab::new_game, :new_game)
            add_command(Vocab::continue, :continue, continue_enabled)
            add_command(HZM_VXA::AudioVol::TITLE_NAME, :hzm_vxa_audioVol)
            add_command(Vocab::shutdown, :shutdown)
          end
        else
          #---------------------------------------------------------------------------
          # ● Creating command list
          #---------------------------------------------------------------------------
          alias hzm_vxa_audioVol_make_command_list make_command_list
          def make_command_list
            hzm_vxa_audioVol_make_command_list
            add_command(HZM_VXA::AudioVol::TITLE_NAME, :hzm_vxa_audioVol)
          end
        end
      end
      class Scene_Title < Scene_Base
        #---------------------------------------------------------------------------
        # ● Creating Command Window
        #---------------------------------------------------------------------------
        alias hzm_vxa_audioVol_create_command_window create_command_window
        def create_command_window
          hzm_vxa_audioVol_create_command_window
          @command_window.set_handler(:hzm_vxa_audioVol, method(:hzm_vxa_audioVol_command_config))
        end
        #---------------------------------------------------------------------------
        # ● Command [Volume adjustment]
        #---------------------------------------------------------------------------
        def hzm_vxa_audioVol_command_config
          close_command_window
          SceneManager.call(HZM_VXA::AudioVol::Scene_VolConfig)
        end
      end
    end
    
    # メニューに追加
    if HZM_VXA::AudioVol::MENU_FLAG
      class Window_MenuCommand
        #---------------------------------------------------------------------------
        # ● For adding a custom command
        #---------------------------------------------------------------------------
        alias hzm_vxa_audioVol_add_original_commands add_original_commands
        def add_original_commands
          hzm_vxa_audioVol_add_original_commands
          add_command(HZM_VXA::AudioVol::MENU_NAME, :hzm_vxa_audioVol)
        end
      end
      class Scene_Menu
        #---------------------------------------------------------------------------
        # ● Creating Command Window
        #---------------------------------------------------------------------------
        alias hzm_vxa_audioVol_create_command_window create_command_window
        def create_command_window
          hzm_vxa_audioVol_create_command_window
          @command_window.set_handler(:hzm_vxa_audioVol, method(:hzm_vxa_audioVol_command_config))
        end
        #---------------------------------------------------------------------------
        # ● Call volume from the setting screen
        #---------------------------------------------------------------------------
        def hzm_vxa_audioVol_command_config
          SceneManager.call(HZM_VXA::AudioVol::Scene_VolConfig)
        end
      end
    end
    
    # Volume Configuration Window
    module HZM_VXA
      module AudioVol
        class Window_VolConfig < Window_Command
          #-------------------------------------------------------------------------
          # ● Generate
          #-------------------------------------------------------------------------
          def initialize
            @mode = HZM_VXA::AudioVol::TYPE.to_i
            super(0, 0)
            self.x = (Graphics.width  - self.window_width ) / 2
            self.y = (Graphics.height - self.window_height) / 2
          end
          #-------------------------------------------------------------------------
          # ● Acquire command symbol
          #-------------------------------------------------------------------------
          def command_symbol(index)
            @list[index][:symbol]
          end
          #-------------------------------------------------------------------------
          # ● Command extend data
          #-------------------------------------------------------------------------
          def command_ext(index)
            @list[index][:ext]
          end
          #-------------------------------------------------------------------------
          # ● Window width
          #-------------------------------------------------------------------------
          def window_width
            HZM_VXA::AudioVol::WINDOW_WIDTH
          end
          #--------------------------------------------------------------------------
          # ● Acquire alignment
          #--------------------------------------------------------------------------
          def alignment
            command_symbol(@now_drawing_index) == :cancel ? 1 : 0
          end
          #-------------------------------------------------------------------------
          # ● Command generate
          #-------------------------------------------------------------------------
          def make_command_list
            make_command_list_actions
            make_command_list_exit
          end
          #-------------------------------------------------------------------------
          # ● Command: action
          #-------------------------------------------------------------------------
          def make_command_list_actions
            case @mode
            when 0
              add_command(HZM_VXA::AudioVol::CONFIG_ALL_NAME,  :all)
            when 1
              add_command(HZM_VXA::AudioVol::CONFIG_BGM_NAME,  :bgm)
              add_command(HZM_VXA::AudioVol::CONFIG_SE_NAME,   :se)
            else
              add_command(HZM_VXA::AudioVol::CONFIG_BGM_NAME,  :bgm)
              add_command(HZM_VXA::AudioVol::CONFIG_BGS_NAME,  :bgs)
              add_command(HZM_VXA::AudioVol::CONFIG_SE_NAME,   :se)
              add_command(HZM_VXA::AudioVol::CONFIG_ME_NAME,   :me)
            end
          end
          #-------------------------------------------------------------------------
          # ● Command: cancel
          #-------------------------------------------------------------------------
          def make_command_list_exit
            add_command(HZM_VXA::AudioVol::CONFIG_EXIT_NAME, :cancel)
          end
          #-------------------------------------------------------------------------
          # ● Drawing items
          #-------------------------------------------------------------------------
          def draw_item(index)
            @now_drawing_index = index
            super
            case command_symbol(index)
            when :all, :bgm, :bgs, :se, :me
              draw_item_volume_guage(index)
            end
          end
          #-------------------------------------------------------------------------
          # ● Drawing items: volume gauge
          #-------------------------------------------------------------------------
          def draw_item_volume_guage(index)
            vol =
              case command_symbol(index)
              when :all, :bgm
                Audio.bgm_vol
              when :bgs
                Audio.bgs_vol
              when :se
                Audio.se_vol
              when :me
                Audio.me_vol
              end
            draw_gauge(item_rect_for_text(index).x + 96 - 8, item_rect_for_text(index).y, contents_width - 96, vol/100.0, HZM_VXA::AudioVol::COLOR1, HZM_VXA::AudioVol::COLOR2)
            draw_text(item_rect_for_text(index), vol, 2)
          end
          #-------------------------------------------------------------------------
          # ● Increase volume
          #-------------------------------------------------------------------------
          def vol_add(index, val)
            call_flag = false
    
            case command_symbol(index)
            when :all
              call_flag = add_vol_bgm(val)
              Audio.bgs_vol = Audio.bgm_vol
              Audio.se_vol = Audio.bgm_vol
              Audio.me_vol = Audio.bgm_vol
            when :bgm
              call_flag = add_vol_bgm(val)
              Audio.bgs_vol = Audio.bgm_vol if @mode == 1
            when :bgs
              call_flag = add_vol_bgs(val)
            when :se
              call_flag = add_vol_se(val)
              Audio.me_vol = Audio.se_vol if @mode == 1
            when :me
              call_flag = add_vol_me(val)
            end
    
            if call_flag
              Sound.play_cursor
              redraw_item(index)
            end
          end
          def add_vol_bgm(val)
            old = Audio.bgm_vol
            Audio.bgm_vol += val
            if music = RPG::BGM.last and music.name.size > 0
              Audio.bgm_play("Audio/BGM/#{music.name}", music.volume, music.pitch, music.pos)
            end
            Audio.bgm_vol != old
          end
          def add_vol_bgs(val)
            old = Audio.bgs_vol
            Audio.bgs_vol += val
            if music = RPG::BGS.last and music.name.size > 0
              Audio.bgs_play("Audio/BGS/#{music.name}", music.volume, music.pitch, music.pos)
            end
            Audio.bgs_vol != old
          end
          def add_vol_se(val)
            old = Audio.se_vol
            Audio.se_vol += val
            Audio.se_vol != old
          end
          def add_vol_me(val)
            old = Audio.me_vol
            Audio.me_vol += val
            Audio.me_vol != old
          end
          #--------------------------------------------------------------------------
          # ● Process when the button is pressed
          #    ※Ignore if it's on the volume setting
          #--------------------------------------------------------------------------
          def process_ok
            case current_symbol
            when :bgm, :bgs, :se, :me
              return
            else
              super
            end
          end
          #-------------------------------------------------------------------------
          # ● Key operation
          #-------------------------------------------------------------------------
          def cursor_left(wrap = false)
            vol_add(@index, -HZM_VXA::AudioVol::ADD_VOL_NORMAL)
          end
          def cursor_right(wrap = false)
            vol_add(@index,  HZM_VXA::AudioVol::ADD_VOL_NORMAL)
          end
          def cursor_pageup
            vol_add(@index, -HZM_VXA::AudioVol::ADD_VOL_HIGH)
          end
          def cursor_pagedown
            vol_add(@index,  HZM_VXA::AudioVol::ADD_VOL_HIGH)
          end
        end
        class Scene_VolConfig < Scene_MenuBase
          #-------------------------------------------------------------------------
          # ● Start processing
          #-------------------------------------------------------------------------
          def start
            super
            create_help_window
            @command_window = Window_VolConfig.new
            @command_window.viewport = @viewport
            @command_window.set_handler(:cancel,   method(:return_scene))
            @help_window.set_text("You can adjust the volume(0:Mute~100:Max)\n← Decrease / Increase →")
          end
          #-------------------------------------------------------------------------
          # ● End processing
          #-------------------------------------------------------------------------
          def terminate
            super
            @command_window.dispose
            if HZM_VXA::AudioVol::USE_INI
              HZM_VXA::Ini.save('AudioVol', 'BGM', Audio.bgm_vol)
              HZM_VXA::Ini.save('AudioVol', 'BGS', Audio.bgs_vol)
              HZM_VXA::Ini.save('AudioVol', 'SE', Audio.se_vol)
              HZM_VXA::Ini.save('AudioVol', 'ME', Audio.me_vol)
            end
          end
        end
      end
    end
    
    if HZM_VXA::AudioVol::USE_INI
      # If the base script is not installed, it will work with the simplified version
      unless defined?(HZM_VXA::Ini)
        module HZM_VXA
          module Base
            GetPrivateProfileInt = Win32API.new('kernel32', 'GetPrivateProfileInt', %w(p p i p), 'i')
            WritePrivateProfileString = Win32API.new('kernel32', 'WritePrivateProfileString', %w(p p p p), 'i')
          end
          class Ini
            INI_FILENAME = './Game.ini'
            def self.load(section, key)
              HZM_VXA::Base::GetPrivateProfileInt.call(section, key, 100, INI_FILENAME).to_i
            end
            def self.save(section, key, value)
              HZM_VXA::Base::WritePrivateProfileString.call(section, key, value.to_i.to_s, INI_FILENAME) != 0
            end
          end
        end
      end
      # Read volume initial value
      Audio.bgm_vol = (HZM_VXA::Ini.load('AudioVol', 'BGM') or 100)
      Audio.bgs_vol = (HZM_VXA::Ini.load('AudioVol', 'BGS') or 100)
      Audio.se_vol  = (HZM_VXA::Ini.load('AudioVol', 'SE') or 100)
      Audio.me_vol  = (HZM_VXA::Ini.load('AudioVol', 'ME') or 100)
    end

  2. #5672
    Пользователь Аватар для Gremlin
    Информация о пользователе
    Регистрация
    29.04.2020
    Сообщений
    62
    Репутация: 4 Добавить или отнять репутацию

    По умолчанию

    Заработало, благодарю!

  3. #5673

    По умолчанию

    Здравствуйте, у меня вот такая ситуация
    Я дабы привести разрешение к 4:3 изменил отображение(VX Ace) на 20X15 блоков,
    но в данном случае количество блоков нечетное, и крайние отображаются лишь на половину,
    и все бы нормально, но при достижении края камера смещается на пол блока,
    и в принципе я дабы избежать этого увеличивал размер карты,
    но как оказалось не всегда это желательно.
    А теперь собственно вопрос.
    Есть ли способ остановить движение камеры за пол блока до края?
    Желательно не прибегая к scoll map.

  4. #5674
    Познающий Аватар для ZoWW
    Информация о пользователе
    Регистрация
    15.12.2013
    Сообщений
    487
    Репутация: 12 Добавить или отнять репутацию

    По умолчанию

    Цитата Сообщение от Tsargorn Ragver De Zatire Посмотреть сообщение
    Здравствуйте, у меня вот такая ситуация
    Я дабы привести разрешение к 4:3 изменил отображение(VX Ace) на 20X15 блоков,
    но в данном случае количество блоков нечетное, и крайние отображаются лишь на половину,
    и все бы нормально, но при достижении края камера смещается на пол блока,
    и в принципе я дабы избежать этого увеличивал размер карты,
    но как оказалось не всегда это желательно.
    А теперь собственно вопрос.
    Есть ли способ остановить движение камеры за пол блока до края?
    Желательно не прибегая к scoll map.
    4:3 это вообще не разрешение, это соотношение сторон. А разрешение в Асе устанавливается скриптом:
    (Graphics.resize_screen(640,480))
    Цифры в скобках - это необходимое разрешение экрана при требуемом соотношении сторон. В этом случае карта с сеткой 20х15 по 32 пикселя в одном квадрате (32х20=640, 32х15=480) не будет никуда двигаться если подойти к её краю.

  5. #5675

    По умолчанию

    Спасибо за придирку.
    Мне казалось что я написал достаточно понятно, оказалось нет.

    Как я сказал у меня стоит 20Х15 блоков по 32 пикселя в каждом т.е. 640Х480,
    и мне смена моего разрешения на мое же не поможет.

    И нет она двигается так как изображение отцентровано на персонаже занимающем 1 блок,
    а так как количество блоков нечетное то слева и права от персонажа, отрисовывается 9,5 блока или же 306 пикселя.
    И потому подойдя на 11 блок до края, следующий шаг подвинет экран лишь на 16 пикселей(что заметно).

    П.C. И уж извини за, как может показаться, довольно резкую реакцию, просто твой ответ выглядел как издевка.
    Последний раз редактировалось Tsargorn Ragver De Zatire; 13.05.2020 в 18:21.

  6. #5676
    Бывалый Аватар для Phileas
    Информация о пользователе
    Регистрация
    05.02.2016
    Адрес
    HD 128620, HR 5459, CP−60°5483, GCTP 3309.00A, LHS 50
    Сообщений
    621
    Записей в дневнике
    26
    Репутация: 22 Добавить или отнять репутацию

    По умолчанию

    Цитата Сообщение от Tsargorn Ragver De Zatire Посмотреть сообщение
    Как я сказал у меня стоит 20Х15 блоков по 32 пикселя в каждом т.е. 640Х480,
    и мне смена моего разрешения на мое же не поможет.

    И нет она двигается так как изображение отцентровано на персонаже занимающем 1 блок,
    а так как количество блоков нечетное то слева и права от персонажа, отрисовывается 9,5 блока или же 306 пикселя.
    И потому подойдя на 11 блок до края, следующий шаг подвинет экран лишь на 16 пикселей(что заметно).
    Непонятно, как у тебя камера двигается, если карта видна полностью. 20 на 15 блоков, разрешение 640 на 480. Уверен, что оно такое у тебя? Наверное, стоит кинуть проект, потому что ситуация неясна.
    Мои игры

    Мои плагины

    Мой Telegram-канал

    Мой Boosty



    Спойлер In my humble opinion :

    Все мои сообщения отражают лишь моё скромное мнение. Я ни в коем случае не пытаюсь кого-либо обидеть, ни на кого/что не наезжаю и ничего не навязываю. Благодарю за понимание и адекватность.

  7. #5677

    По умолчанию

    Цитата Сообщение от Phileas Посмотреть сообщение
    Непонятно, как у тебя камера двигается, если карта видна полностью. 20 на 15 блоков, разрешение 640 на 480. Уверен, что оно такое у тебя? Наверное, стоит кинуть проект, потому что ситуация неясна.
    Там нет кода на эту тему помимо Graphics.resize_screen,
    Так что даже в стоковом проекте это видно.

    Вот пример
    Первый шаг 32 пикселя, второй 16, ну а дальше как и должно двигается лишь персонаж.

  8. #5678

    По умолчанию

    Дело в том что это смещение мешается в катсценах,
    а если убрать конец карты, увеличив ее размер,
    то нужно будет всегда использовать scoll map, иначе пол экраны будет в пустоте.

    Поэтому мне просто интересно услышать чьи-нибудь решения.

  9. #5679
    Бывалый Аватар для Torontino
    Информация о пользователе
    Регистрация
    26.03.2013
    Адрес
    Самара
    Сообщений
    991
    Записей в дневнике
    7
    Репутация: 56 Добавить или отнять репутацию

    По умолчанию

    Цитата Сообщение от Tsargorn Ragver De Zatire Посмотреть сообщение
    Здравствуйте, у меня вот такая ситуация
    Я дабы привести разрешение к 4:3 изменил отображение(VX Ace) на 20X15 блоков,
    но в данном случае количество блоков нечетное, и крайние отображаются лишь на половину,
    и все бы нормально, но при достижении края камера смещается на пол блока,
    и в принципе я дабы избежать этого увеличивал размер карты,
    но как оказалось не всегда это желательно.
    А теперь собственно вопрос.
    Есть ли способ остановить движение камеры за пол блока до края?
    Желательно не прибегая к scoll map.
    Проверь карту. У тебя стоит 21 на 15. Из-за этого 2 смещения происходят.
    Последний раз редактировалось Torontino; 13.05.2020 в 19:41.

  10. #5680

    По умолчанию

    Цитата Сообщение от Torontino Посмотреть сообщение
    Проверь карту. У тебя стоит 21 на 15. Из-за этого 2 смещения происходят.
    Размер карты? Экран нельзя выставить на 21х15, движок не позволит.
    То что 2 смещения не проблема, мне не нравилось, что они на разное расстояние происходят,
    но неважно я уже разобрался как это поправить. Я нашел код отвечающий за камеру.
    И решил это вот таким способом:
    Код:
    =begin
    ================================================================================
     > Hat
    ================================================================================
     Коректировка границ экрана, для сохранения границ в 16пикселей
    --------------------------------------------------------------------------------
    =end
    #===============================================================================
    # > Start program
    #===============================================================================
    class Game_Map
    #-------------------------------------------------------------------------------
    # * Scroll Left
    #-------------------------------------------------------------------------------
    def scroll_left(distance)
      if loop_horizontal?
        @display_x += @map.width - distance
        @display_x %= @map.width 
        @parallax_x -= distance if @parallax_loop_x
      else
        last_x = @display_x
        @display_x = [@display_x - distance, 0.5].max 
        @parallax_x += @display_x - last_x
        end
      end
    #-------------------------------------------------------------------------------
    # * Scroll Right
    #-------------------------------------------------------------------------------
    def scroll_right(distance)
      if loop_horizontal?
        @display_x += distance
        @display_x %= @map.width
        @parallax_x += distance if @parallax_loop_x
      else
        last_x = @display_x
        @display_x = [@display_x + distance, (width - screen_tile_x-0.5)].min
        @parallax_x += @display_x - last_x
        end
      end
    end
    #===============================================================================
    # > End.
    #===============================================================================
    Последний раз редактировалось Tsargorn Ragver De Zatire; 13.05.2020 в 21:39.

Страница 568 из 643 ПерваяПервая ... 68468518558566567568569570578618 ... ПоследняяПоследняя

Информация о теме

Пользователи, просматривающие эту тему

Эту тему просматривают: 2 (пользователей: 0 , гостей: 2)

Метки этой темы

Социальные закладки

Социальные закладки

Ваши права

  • Вы не можете создавать новые темы
  • Вы не можете отвечать в темах
  • Вы не можете прикреплять вложения
  • Вы не можете редактировать свои сообщения
  •  
Общие вопросы