Хорошо! Хорошо!:  0
Плохо! Плохо!:  0
Страница 10 из 10 ПерваяПервая ... 8910
Показано с 91 по 97 из 97

Тема: Нужен ли НЕ пиксель арт?

  1. #91
    Познающий Аватар для Space
    Информация о пользователе
    Регистрация
    26.08.2010
    Адрес
    Воскресенск
    Сообщений
    382
    Репутация: 18 Добавить или отнять репутацию

    По умолчанию

    Цитата Сообщение от Всесонный Феникс Посмотреть сообщение
    Так ведь, если не ошибусь, туман, картинки - все это кладется поверх тайлсета и героев?
    Картинка и туман поверх, панорама ниже героев. Для XP могу научит выводить картинку ниже героев с небольшими изменениями в скрипте (Это мне уже по силам).
    Спойлер Творения моих рук:

    Angel Beats - первая проба на Мейкере - 4.20 МБ
    Space Scene - ролик на конкурс ФМР'2010 (Нейтральная полоса) - 15.6 МБ
    Naomi-chan - ролик на конкурс "Предпраздничный конкурс музыкальных проектов" (Светлая зона) - 4.63 МБ

  2. #92
    Хранитель Форума Аватар для Валера
    Информация о пользователе
    Регистрация
    15.04.2008
    Адрес
    Москва
    Сообщений
    14,006
    Записей в дневнике
    3
    Репутация: 166 Добавить или отнять репутацию

    По умолчанию

    Цитата Сообщение от Всесонный Феникс Посмотреть сообщение
    Спасибо больше.
    Так ведь, если не ошибусь, туман, картинки - все это кладется поверх тайлсета и героев?
    Мне, в принципе, любой возможный вариант бы подошел, но хотелось бы не касаться скриптов, т.к. я стараюсь отойти от этого момента.
    Если не хочешь скриптов, тогда объясни конкретней, почему и ивенты не хочешь. Всегда можно чего-то придумать.

    Спойлер И как тебе не стыдно-то, а, Валера?:


    Оборона форта: http://rghost.ru/8kLGxFtD2
    Сделать, чтоб все происходило, как я хочу, - вот, собственно, и весь мейкер!
    Адский Рейд: http://rpgmaker.su/vbdownloads.php?d...downloadid=106

  3. #93
    Пользователь Аватар для Всесонный Феникс
    Информация о пользователе
    Регистрация
    11.12.2010
    Адрес
    Украина, Херсон
    Сообщений
    82
    Репутация: 6 Добавить или отнять репутацию

    По умолчанию

    Цитата Сообщение от Space Посмотреть сообщение
    Картинка и туман поверх, панорама ниже героев. Для XP могу научит выводить картинку ниже героев с небольшими изменениями в скрипте (Это мне уже по силам).
    Конечно, научи. ты не представляешь, какую головную боль это может предварительно устранить.

    Цитата Сообщение от Валера Посмотреть сообщение
    Если не хочешь скриптов, тогда объясни конкретней, почему и ивенты не хочешь. Всегда можно чего-то придумать.
    Нет, ты меня не правильно понял. Я только ЗА ивенты, но не пойму каким образом возможно это сделать, разве что, если удастся туман или картину поставить ниже объектов.
    Здесь должна была быть какая-то умная фраза.
    Я пишу длинные тексты, чтобы подольше собой повосхищаться.
    Бывает, иногда требую чай.

  4. #94
    Познающий Аватар для Space
    Информация о пользователе
    Регистрация
    26.08.2010
    Адрес
    Воскресенск
    Сообщений
    382
    Репутация: 18 Добавить или отнять репутацию

    По умолчанию

    Цитата Сообщение от Всесонный Феникс Посмотреть сообщение
    Конечно, научи. ты не представляешь, какую головную боль это может предварительно устранить.
    Тогда слушай внимательно:

    Game_Screen

    После строчки:
    @pictures = [nil]

    Добавляем:
    @pictures_2 = [nil]

    После строчки:
    @pictures.push(Game_Picture.new(i))

    Добавляем:
    @pictures_2.push(Game_Picture.new(i))

    После строчки:
    @pictures[i].update

    Добавляем:
    @pictures_2[i].update

    Спойлер Game_Screen:
    #================================================= =============================
    # ** Game_Screen
    #------------------------------------------------------------------------------
    # This class handles screen maintenance data, such as change in color tone,
    # flashing, etc. Refer to "$game_screen" for the instance of this class.
    #================================================= =============================

    class Game_Screen
    #--------------------------------------------------------------------------
    # * Public Instance Variables
    #--------------------------------------------------------------------------
    attr_reader :tone # color tone
    attr_reader :flash_color # flash color
    attr_reader :shake # shake positioning
    attr_reader :pictures # pictures
    attr_reader :pictures_2 # pictures
    attr_reader :weather_type # weather type
    attr_reader :weather_max # max number of weather sprites
    #--------------------------------------------------------------------------
    # * Object Initialization
    #--------------------------------------------------------------------------
    def initialize
    @tone = Tone.new(0, 0, 0, 0)
    @tone_target = Tone.new(0, 0, 0, 0)
    @tone_duration = 0
    @flash_color = Color.new(0, 0, 0, 0)
    @flash_duration = 0
    @shake_power = 0
    @shake_speed = 0
    @shake_duration = 0
    @shake_direction = 1
    @shake = 0
    @pictures = [nil]
    @pictures_2 = [nil] #Add SpBT
    for i in 1..100
    @pictures.push(Game_Picture.new(i))
    @pictures_2.push(Game_Picture.new(i)) #Add SpBT
    end
    @weather_type = 0
    @weather_max = 0.0
    @weather_type_target = 0
    @weather_max_target = 0.0
    @weather_duration = 0
    end
    #--------------------------------------------------------------------------
    # * Start Changing Color Tone
    # tone : color tone
    # duration : time
    #--------------------------------------------------------------------------
    def start_tone_change(tone, duration)
    @tone_target = tone.clone
    @tone_duration = duration
    if @tone_duration == 0
    @tone = @tone_target.clone
    end
    end
    #--------------------------------------------------------------------------
    # * Start Flashing
    # color : color
    # duration : time
    #--------------------------------------------------------------------------
    def start_flash(color, duration)
    @flash_color = color.clone
    @flash_duration = duration
    end
    #--------------------------------------------------------------------------
    # * Start Shaking
    # power : strength
    # speed : speed
    # duration : time
    #--------------------------------------------------------------------------
    def start_shake(power, speed, duration)
    @shake_power = power
    @shake_speed = speed
    @shake_duration = duration
    end
    #--------------------------------------------------------------------------
    # * Set Weather
    # type : type
    # power : strength
    # duration : time
    #--------------------------------------------------------------------------
    def weather(type, power, duration)
    @weather_type_target = type
    if @weather_type_target != 0
    @weather_type = @weather_type_target
    end
    if @weather_type_target == 0
    @weather_max_target = 0.0
    else
    @weather_max_target = (power + 1) * 4.0
    end
    @weather_duration = duration
    if @weather_duration == 0
    @weather_type = @weather_type_target
    @weather_max = @weather_max_target
    end
    end
    #--------------------------------------------------------------------------
    # * Frame Update
    #--------------------------------------------------------------------------
    def update
    if @tone_duration >= 1
    d = @tone_duration
    @tone.red = (@tone.red * (d - 1) + @tone_target.red) / d
    @tone.green = (@tone.green * (d - 1) + @tone_target.green) / d
    @tone.blue = (@tone.blue * (d - 1) + @tone_target.blue) / d
    @tone.gray = (@tone.gray * (d - 1) + @tone_target.gray) / d
    @tone_duration -= 1
    end
    if @flash_duration >= 1
    d = @flash_duration
    @flash_color.alpha = @flash_color.alpha * (d - 1) / d
    @flash_duration -= 1
    end
    if @shake_duration >= 1 or @shake != 0
    delta = (@shake_power * @shake_speed * @shake_direction) / 10.0
    if @shake_duration <= 1 and @shake * (@shake + delta) < 0
    @shake = 0
    else
    @shake += delta
    end
    if @shake > @shake_power * 2
    @shake_direction = -1
    end
    if @shake < - @shake_power * 2
    @shake_direction = 1
    end
    if @shake_duration >= 1
    @shake_duration -= 1
    end
    end
    if @weather_duration >= 1
    d = @weather_duration
    @weather_max = (@weather_max * (d - 1) + @weather_max_target) / d
    @weather_duration -= 1
    if @weather_duration == 0
    @weather_type = @weather_type_target
    end
    end
    if $game_temp.in_battle
    for i in 51..100
    @pictures[i].update
    end
    else
    for i in 1..50
    @pictures[i].update
    @pictures_2[i].update #Add SpBT
    end
    end
    end
    end


    Spriteset_Map

    После строчки:
    @viewport3 = Viewport.new(0, 0, 640, 480)

    Добавляем:
    @viewport4 = Viewport.new(0, 0, 640, 480)

    После строчки:
    @viewport3.z = 5000

    Добавляем:
    @viewport4.z = -100

    После строчек:
    for i in 1..50
    @picture_sprites.push(Sprite_Picture.new(@viewport 2, $game_screen.pictures[i]))
    end


    Добавляем:
    for i in 1..50 # Add SpBT
    @picture_sprites.push(Sprite_Picture.new(@viewport 4, $game_screen.pictures_2[i]))
    end


    После строчки:
    @viewport3.dispose

    Добавляем:
    @viewport4.dispose

    После строчки:
    @viewport3.update

    Добавляем:
    @viewport4.update

    Спойлер Spriteset_Map:
    #================================================= =============================
    # ** Spriteset_Map
    #------------------------------------------------------------------------------
    # This class brings together map screen sprites, tilemaps, etc.
    # It's used within the Scene_Map class.
    #================================================= =============================

    class Spriteset_Map
    #--------------------------------------------------------------------------
    # * Object Initialization
    #--------------------------------------------------------------------------
    def initialize
    # Make viewports
    @viewport1 = Viewport.new(0, 0, 640, 480)
    @viewport2 = Viewport.new(0, 0, 640, 480)
    @viewport3 = Viewport.new(0, 0, 640, 480)
    @viewport4 = Viewport.new(0, 0, 640, 480) # Add SpBT
    @viewport2.z = 400
    @viewport3.z = 5000
    @viewport4.z = -100 # Add SpBT
    # Make tilemap
    @tilemap = Tilemap.new(@viewport1)
    @tilemap.tileset = RPG::Cache.tileset($game_map.tileset_name)
    for i in 0..6
    autotile_name = $game_map.autotile_names[i]
    @tilemap.autotiles[i] = RPG::Cache.autotile(autotile_name)
    end
    @tilemap.map_data = $game_map.data
    @tilemap.priorities = $game_map.priorities
    # Make panorama plane
    @panorama = Plane.new(@viewport1)
    @panorama.z = -1000
    # Make fog plane
    @fog = Plane.new(@viewport1)
    @fog.z = 3000
    # Make character sprites
    @character_sprites = []
    for i in $game_map.events.keys.sort
    sprite = Sprite_Character.new(@viewport1, $game_map.events[i])
    @character_sprites.push(sprite)
    end
    @character_sprites.push(Sprite_Character.new(@view port1, $game_player))
    # Make weather
    @weather = RPG::Weather.new(@viewport1)
    # Make picture sprites
    @picture_sprites = []

    for i in 1..50
    @picture_sprites.push(Sprite_Picture.new(@viewport 2,
    $game_screen.pictures[i]))
    end

    for i in 1..50 # Add SpBT
    @picture_sprites.push(Sprite_Picture.new(@viewport 4, # Add SpBT
    $game_screen.pictures_2[i])) # Add SpBT
    end # Add SpBT

    # Make timer sprite
    @timer_sprite = Sprite_Timer.new
    # Frame update
    update
    end
    #--------------------------------------------------------------------------
    # * Dispose
    #--------------------------------------------------------------------------
    def dispose
    # Dispose of tilemap
    @tilemap.tileset.dispose
    for i in 0..6
    @tilemap.autotiles[i].dispose
    end
    @tilemap.dispose
    # Dispose of panorama plane
    @panorama.dispose
    # Dispose of fog plane
    @fog.dispose
    # Dispose of character sprites
    for sprite in @character_sprites
    sprite.dispose
    end
    # Dispose of weather
    @weather.dispose
    # Dispose of picture sprites
    for sprite in @picture_sprites
    sprite.dispose
    end
    # Dispose of timer sprite
    @timer_sprite.dispose
    # Dispose of viewports
    @viewport1.dispose
    @viewport2.dispose
    @viewport3.dispose
    @viewport4.dispose # Add SpBT
    end
    #--------------------------------------------------------------------------
    # * Frame Update
    #--------------------------------------------------------------------------
    def update
    # If panorama is different from current one
    if @panorama_name != $game_map.panorama_name or
    @panorama_hue != $game_map.panorama_hue
    @panorama_name = $game_map.panorama_name
    @panorama_hue = $game_map.panorama_hue
    if @panorama.bitmap != nil
    @panorama.bitmap.dispose
    @panorama.bitmap = nil
    end
    if @panorama_name != ""
    @panorama.bitmap = RPG::Cache.panorama(@panorama_name, @panorama_hue)
    end
    Graphics.frame_reset
    end
    # If fog is different than current fog
    if @fog_name != $game_map.fog_name or @fog_hue != $game_map.fog_hue
    @fog_name = $game_map.fog_name
    @fog_hue = $game_map.fog_hue
    if @fog.bitmap != nil
    @fog.bitmap.dispose
    @fog.bitmap = nil
    end
    if @fog_name != ""
    @fog.bitmap = RPG::Cache.fog(@fog_name, @fog_hue)
    end
    Graphics.frame_reset
    end
    # Update tilemap
    @tilemap.ox = $game_map.display_x / 4
    @tilemap.oy = $game_map.display_y / 4
    @tilemap.update
    # Update panorama plane
    @panorama.ox = $game_map.display_x / 8
    @panorama.oy = $game_map.display_y / 8
    # Update fog plane
    @fog.zoom_x = $game_map.fog_zoom / 100.0
    @fog.zoom_y = $game_map.fog_zoom / 100.0
    @fog.opacity = $game_map.fog_opacity
    @fog.blend_type = $game_map.fog_blend_type
    @fog.ox = $game_map.display_x / 4 + $game_map.fog_ox
    @fog.oy = $game_map.display_y / 4 + $game_map.fog_oy
    @fog.tone = $game_map.fog_tone
    # Update character sprites
    for sprite in @character_sprites
    sprite.update
    end
    # Update weather graphic
    @weather.type = $game_screen.weather_type
    @weather.max = $game_screen.weather_max
    @weather.ox = $game_map.display_x / 4
    @weather.oy = $game_map.display_y / 4
    @weather.update
    # Update picture sprites
    for sprite in @picture_sprites
    sprite.update
    end
    # Update timer sprite
    @timer_sprite.update
    # Set screen color tone and shake position
    @viewport1.tone = $game_screen.tone
    @viewport1.ox = $game_screen.shake
    # Set screen flash color
    @viewport3.color = $game_screen.flash_color
    # Update viewports
    @viewport1.update
    @viewport3.update
    @viewport4.update # Add SpBT
    end
    end


    Под сплоерами весь текст, там где в комментариях стоит # Add SpBT - это и есть мною вышеописанные изменения!

    Благодаря этим манипуляциям мы создали 2-ю функцию для вывода картинок но, картинки будут лежать под героями! Обычными средствами её вызвать не получится, поэтому когда необходимо в эвенте пишешь следующую команду:

    $game_screen.pictures_2[n].show('name', 0, x, y, zoom_x, zoom_y, 255, 0)

    n - номер картинки не долже превышать 50-ти и не должен пересекаться с номером картинки выведенной обычным способом!
    'name' - имя файла в папке Picture
    0 - забыл
    x, y - координата верхней левой точки картинки в пикселях
    zoom_x, zoom_y - обычно 100 (т.е. 100%, выводит картинку 1 к 1)
    255 - прозрачность
    0 - непомню :)
    Спойлер Творения моих рук:

    Angel Beats - первая проба на Мейкере - 4.20 МБ
    Space Scene - ролик на конкурс ФМР'2010 (Нейтральная полоса) - 15.6 МБ
    Naomi-chan - ролик на конкурс "Предпраздничный конкурс музыкальных проектов" (Светлая зона) - 4.63 МБ

  5. #95
    Пользователь Аватар для Всесонный Феникс
    Информация о пользователе
    Регистрация
    11.12.2010
    Адрес
    Украина, Херсон
    Сообщений
    82
    Репутация: 6 Добавить или отнять репутацию

    По умолчанию

    Цитата Сообщение от Space Посмотреть сообщение
    Тогда слушай внимательно:

    Game_Screen

    После строчки:
    @pictures = [nil]

    Добавляем:
    @pictures_2 = [nil]

    После строчки:
    @pictures.push(Game_Picture.new(i))

    Добавляем:
    @pictures_2.push(Game_Picture.new(i))

    После строчки:
    @pictures[i].update

    Добавляем:
    @pictures_2[i].update

    Спойлер Game_Screen:
    #================================================= =============================
    # ** Game_Screen
    #------------------------------------------------------------------------------
    # This class handles screen maintenance data, such as change in color tone,
    # flashing, etc. Refer to "$game_screen" for the instance of this class.
    #================================================= =============================

    class Game_Screen
    #--------------------------------------------------------------------------
    # * Public Instance Variables
    #--------------------------------------------------------------------------
    attr_reader :tone # color tone
    attr_reader :flash_color # flash color
    attr_reader :shake # shake positioning
    attr_reader ictures # pictures
    attr_reader ictures_2 # pictures
    attr_reader :weather_type # weather type
    attr_reader :weather_max # max number of weather sprites
    #--------------------------------------------------------------------------
    # * Object Initialization
    #--------------------------------------------------------------------------
    def initialize
    @tone = Tone.new(0, 0, 0, 0)
    @tone_target = Tone.new(0, 0, 0, 0)
    @tone_duration = 0
    @flash_color = Color.new(0, 0, 0, 0)
    @flash_duration = 0
    @shake_power = 0
    @shake_speed = 0
    @shake_duration = 0
    @shake_direction = 1
    @shake = 0
    @pictures = [nil]
    @pictures_2 = [nil] #Add SpBT
    for i in 1..100
    @pictures.push(Game_Picture.new(i))
    @pictures_2.push(Game_Picture.new(i)) #Add SpBT
    end
    @weather_type = 0
    @weather_max = 0.0
    @weather_type_target = 0
    @weather_max_target = 0.0
    @weather_duration = 0
    end
    #--------------------------------------------------------------------------
    # * Start Changing Color Tone
    # tone : color tone
    # duration : time
    #--------------------------------------------------------------------------
    def start_tone_change(tone, duration)
    @tone_target = tone.clone
    @tone_duration = duration
    if @tone_duration == 0
    @tone = @tone_target.clone
    end
    end
    #--------------------------------------------------------------------------
    # * Start Flashing
    # color : color
    # duration : time
    #--------------------------------------------------------------------------
    def start_flash(color, duration)
    @flash_color = color.clone
    @flash_duration = duration
    end
    #--------------------------------------------------------------------------
    # * Start Shaking
    # power : strength
    # speed : speed
    # duration : time
    #--------------------------------------------------------------------------
    def start_shake(power, speed, duration)
    @shake_power = power
    @shake_speed = speed
    @shake_duration = duration
    end
    #--------------------------------------------------------------------------
    # * Set Weather
    # type : type
    # power : strength
    # duration : time
    #--------------------------------------------------------------------------
    def weather(type, power, duration)
    @weather_type_target = type
    if @weather_type_target != 0
    @weather_type = @weather_type_target
    end
    if @weather_type_target == 0
    @weather_max_target = 0.0
    else
    @weather_max_target = (power + 1) * 4.0
    end
    @weather_duration = duration
    if @weather_duration == 0
    @weather_type = @weather_type_target
    @weather_max = @weather_max_target
    end
    end
    #--------------------------------------------------------------------------
    # * Frame Update
    #--------------------------------------------------------------------------
    def update
    if @tone_duration >= 1
    d = @tone_duration
    @tone.red = (@tone.red * (d - 1) + @tone_target.red) / d
    @tone.green = (@tone.green * (d - 1) + @tone_target.green) / d
    @tone.blue = (@tone.blue * (d - 1) + @tone_target.blue) / d
    @tone.gray = (@tone.gray * (d - 1) + @tone_target.gray) / d
    @tone_duration -= 1
    end
    if @flash_duration >= 1
    d = @flash_duration
    @flash_color.alpha = @flash_color.alpha * (d - 1) / d
    @flash_duration -= 1
    end
    if @shake_duration >= 1 or @shake != 0
    delta = (@shake_power * @shake_speed * @shake_direction) / 10.0
    if @shake_duration <= 1 and @shake * (@shake + delta) < 0
    @shake = 0
    else
    @shake += delta
    end
    if @shake > @shake_power * 2
    @shake_direction = -1
    end
    if @shake < - @shake_power * 2
    @shake_direction = 1
    end
    if @shake_duration >= 1
    @shake_duration -= 1
    end
    end
    if @weather_duration >= 1
    d = @weather_duration
    @weather_max = (@weather_max * (d - 1) + @weather_max_target) / d
    @weather_duration -= 1
    if @weather_duration == 0
    @weather_type = @weather_type_target
    end
    end
    if $game_temp.in_battle
    for i in 51..100
    @pictures[i].update
    end
    else
    for i in 1..50
    @pictures[i].update
    @pictures_2[i].update #Add SpBT
    end
    end
    end
    end


    Spriteset_Map

    После строчки:
    @viewport3 = Viewport.new(0, 0, 640, 480)

    Добавляем:
    @viewport4 = Viewport.new(0, 0, 640, 480)

    После строчки:
    @viewport3.z = 5000

    Добавляем:
    @viewport4.z = -100

    После строчек:
    for i in 1..50
    @picture_sprites.push(Sprite_Picture.new(@viewport 2, $game_screen.pictures[i]))
    end


    Добавляем:
    for i in 1..50 # Add SpBT
    @picture_sprites.push(Sprite_Picture.new(@viewport 4, $game_screen.pictures_2[i]))
    end


    После строчки:
    @viewport3.dispose

    Добавляем:
    @viewport4.dispose

    После строчки:
    @viewport3.update

    Добавляем:
    @viewport4.update

    Спойлер Spriteset_Map:
    #================================================= =============================
    # ** Spriteset_Map
    #------------------------------------------------------------------------------
    # This class brings together map screen sprites, tilemaps, etc.
    # It's used within the Scene_Map class.
    #================================================= =============================

    class Spriteset_Map
    #--------------------------------------------------------------------------
    # * Object Initialization
    #--------------------------------------------------------------------------
    def initialize
    # Make viewports
    @viewport1 = Viewport.new(0, 0, 640, 480)
    @viewport2 = Viewport.new(0, 0, 640, 480)
    @viewport3 = Viewport.new(0, 0, 640, 480)
    @viewport4 = Viewport.new(0, 0, 640, 480) # Add SpBT
    @viewport2.z = 400
    @viewport3.z = 5000
    @viewport4.z = -100 # Add SpBT
    # Make tilemap
    @tilemap = Tilemap.new(@viewport1)
    @tilemap.tileset = RPG::Cache.tileset($game_map.tileset_name)
    for i in 0..6
    autotile_name = $game_map.autotile_names[i]
    @tilemap.autotiles[i] = RPG::Cache.autotile(autotile_name)
    end
    @tilemap.map_data = $game_map.data
    @tilemap.priorities = $game_map.priorities
    # Make panorama plane
    @panorama = Plane.new(@viewport1)
    @panorama.z = -1000
    # Make fog plane
    @fog = Plane.new(@viewport1)
    @fog.z = 3000
    # Make character sprites
    @character_sprites = []
    for i in $game_map.events.keys.sort
    sprite = Sprite_Character.new(@viewport1, $game_map.events[i])
    @character_sprites.push(sprite)
    end
    @character_sprites.push(Sprite_Character.new(@view port1, $game_player))
    # Make weather
    @weather = RPG::Weather.new(@viewport1)
    # Make picture sprites
    @picture_sprites = []

    for i in 1..50
    @picture_sprites.push(Sprite_Picture.new(@viewport 2,
    $game_screen.pictures[i]))
    end

    for i in 1..50 # Add SpBT
    @picture_sprites.push(Sprite_Picture.new(@viewport 4, # Add SpBT
    $game_screen.pictures_2[i])) # Add SpBT
    end # Add SpBT

    # Make timer sprite
    @timer_sprite = Sprite_Timer.new
    # Frame update
    update
    end
    #--------------------------------------------------------------------------
    # * Dispose
    #--------------------------------------------------------------------------
    def dispose
    # Dispose of tilemap
    @tilemap.tileset.dispose
    for i in 0..6
    @tilemap.autotiles[i].dispose
    end
    @tilemap.dispose
    # Dispose of panorama plane
    @panorama.dispose
    # Dispose of fog plane
    @fog.dispose
    # Dispose of character sprites
    for sprite in @character_sprites
    sprite.dispose
    end
    # Dispose of weather
    @weather.dispose
    # Dispose of picture sprites
    for sprite in @picture_sprites
    sprite.dispose
    end
    # Dispose of timer sprite
    @timer_sprite.dispose
    # Dispose of viewports
    @viewport1.dispose
    @viewport2.dispose
    @viewport3.dispose
    @viewport4.dispose # Add SpBT
    end
    #--------------------------------------------------------------------------
    # * Frame Update
    #--------------------------------------------------------------------------
    def update
    # If panorama is different from current one
    if @panorama_name != $game_map.panorama_name or
    @panorama_hue != $game_map.panorama_hue
    @panorama_name = $game_map.panorama_name
    @panorama_hue = $game_map.panorama_hue
    if @panorama.bitmap != nil
    @panorama.bitmap.dispose
    @panorama.bitmap = nil
    end
    if @panorama_name != ""
    @panorama.bitmap = RPG::Cache.panorama(@panorama_name, @panorama_hue)
    end
    Graphics.frame_reset
    end
    # If fog is different than current fog
    if @fog_name != $game_map.fog_name or @fog_hue != $game_map.fog_hue
    @fog_name = $game_map.fog_name
    @fog_hue = $game_map.fog_hue
    if @fog.bitmap != nil
    @fog.bitmap.dispose
    @fog.bitmap = nil
    end
    if @fog_name != ""
    @fog.bitmap = RPG::Cache.fog(@fog_name, @fog_hue)
    end
    Graphics.frame_reset
    end
    # Update tilemap
    @tilemap.ox = $game_map.display_x / 4
    @tilemap.oy = $game_map.display_y / 4
    @tilemap.update
    # Update panorama plane
    @panorama.ox = $game_map.display_x / 8
    @panorama.oy = $game_map.display_y / 8
    # Update fog plane
    @fog.zoom_x = $game_map.fog_zoom / 100.0
    @fog.zoom_y = $game_map.fog_zoom / 100.0
    @fog.opacity = $game_map.fog_opacity
    @fog.blend_type = $game_map.fog_blend_type
    @fog.ox = $game_map.display_x / 4 + $game_map.fog_ox
    @fog.oy = $game_map.display_y / 4 + $game_map.fog_oy
    @fog.tone = $game_map.fog_tone
    # Update character sprites
    for sprite in @character_sprites
    sprite.update
    end
    # Update weather graphic
    @weather.type = $game_screen.weather_type
    @weather.max = $game_screen.weather_max
    @weather.ox = $game_map.display_x / 4
    @weather.oy = $game_map.display_y / 4
    @weather.update
    # Update picture sprites
    for sprite in @picture_sprites
    sprite.update
    end
    # Update timer sprite
    @timer_sprite.update
    # Set screen color tone and shake position
    @viewport1.tone = $game_screen.tone
    @viewport1.ox = $game_screen.shake
    # Set screen flash color
    @viewport3.color = $game_screen.flash_color
    # Update viewports
    @viewport1.update
    @viewport3.update
    @viewport4.update # Add SpBT
    end
    end


    Под сплоерами весь текст, там где в комментариях стоит # Add SpBT - это и есть мною вышеописанные изменения!

    Благодаря этим манипуляциям мы создали 2-ю функцию для вывода картинок но, картинки будут лежать под героями! Обычными средствами её вызвать не получится, поэтому когда необходимо в эвенте пишешь следующую команду:

    $game_screen.pictures_2[n].show('name', 0, x, y, zoom_x, zoom_y, 255, 0)

    n - номер картинки не долже превышать 50-ти и не должен пересекаться с номером картинки выведенной обычным способом!
    'name' - имя файла в папке Picture
    0 - забыл
    x, y - координата верхней левой точки картинки в пикселях
    zoom_x, zoom_y - обычно 100 (т.е. 100%, выводит картинку 1 к 1)
    255 - прозрачность
    0 - непомню
    Ты точно все правильно написал? Дело в том, что у меня выбивает ошибку. Сперва я подумал - ошибся где-то сам, скопировал целым текстом твой код, вставил скрипт в меню вызовом - тоже самое. Ссылается на ошибку в Spriteset_Map.

    Кстати, ребята, еще один вопрос. Мне доводилось видеть спрайты с анимацией не на 4 движения, а более. На днях попробовал понять принцип - сделал спрайт на 6 движений в стороны (то есть, 4 ряда по 6 движений), после чего, по экрану стал бегать уже ни один герой, а целых два :-))
    В принципе, хотелось бы понять принцип этого безобразия.
    Здесь должна была быть какая-то умная фраза.
    Я пишу длинные тексты, чтобы подольше собой повосхищаться.
    Бывает, иногда требую чай.

  6. #96
    Познающий Аватар для Space
    Информация о пользователе
    Регистрация
    26.08.2010
    Адрес
    Воскресенск
    Сообщений
    382
    Репутация: 18 Добавить или отнять репутацию

    По умолчанию

    Цитата Сообщение от Всесонный Феникс Посмотреть сообщение
    Ты точно все правильно написал? Дело в том, что у меня выбивает ошибку. Сперва я подумал - ошибся где-то сам, скопировал целым текстом твой код, вставил скрипт в меню вызовом - тоже самое. Ссылается на ошибку в Spriteset_Map.
    Может где-то и ошибаюсь, но метод работоспособен, проверено. Сделай скрин ошибки!

    Цитата Сообщение от Всесонный Феникс Посмотреть сообщение
    Кстати, ребята, еще один вопрос. Мне доводилось видеть спрайты с анимацией не на 4 движения, а более. На днях попробовал понять принцип - сделал спрайт на 6 движений в стороны (то есть, 4 ряда по 6 движений), после чего, по экрану стал бегать уже ни один герой, а целых два :-))
    В принципе, хотелось бы понять принцип этого безобразия.
    http://rpgmaker.su/showthread.php?t=852 п1.2 может тебе немного понять суть.
    Так же ознакомься со 2-ой сылкой 2-го поста и посмотри следующий проект:
    http://rpgmaker.su/showthread.php?t=352
    Последний раз редактировалось Space; 06.02.2011 в 20:09.
    Спойлер Творения моих рук:

    Angel Beats - первая проба на Мейкере - 4.20 МБ
    Space Scene - ролик на конкурс ФМР'2010 (Нейтральная полоса) - 15.6 МБ
    Naomi-chan - ролик на конкурс "Предпраздничный конкурс музыкальных проектов" (Светлая зона) - 4.63 МБ

  7. #97
    Бывалый Аватар для Yin
    Информация о пользователе
    Регистрация
    28.09.2010
    Сообщений
    742
    Записей в дневнике
    1
    Репутация: 25 Добавить или отнять репутацию

    По умолчанию

    Кстати, ребята, еще один вопрос. Мне доводилось видеть спрайты с анимацией не на 4 движения, а более. На днях попробовал понять принцип - сделал спрайт на 6 движений в стороны (то есть, 4 ряда по 6 движений), после чего, по экрану стал бегать уже ни один герой, а целых два :-))
    В принципе, хотелось бы понять принцип этого безобразия.
    Скрипт дополнительных фрэймов в чарсете.

Страница 10 из 10 ПерваяПервая ... 8910

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

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

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

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

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

Ваши права

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