Плохо! Плохо!:  0
Показано с 1 по 5 из 5

Тема: Чарсет 4x4

  1. #1

    По умолчанию Чарсет 4x4

    Привет нейтральная!
    Потыкавшись по сети, заметил, что большинство предложенных чарсетов размером 4x4 фрейма, при том 1 и 3 столбцы повторяют друг друга. В одной из тем предлагали просто обрезать слева столбец или например использовать скрипт для мультифреймовых сетов - в принципе логично, но вот зачем они нужны - нигде не встретил объяснения. Сам я предположил что это для старых версий мейкера, но не уверен.

    Вопрос: Зачем люди делают чарсеты размером 4х4 фрейма, вместо 3х4?

    P.S.
    Может еще и прога существует которая обрезает левый столбец автоматически? Так-то алгоритм вроде там простой, только вот с программированием у меня сложно.

  2. #2
    Маститый Аватар для HopeBree
    Информация о пользователе
    Регистрация
    27.03.2013
    Сообщений
    1,204
    Записей в дневнике
    6
    Репутация: 38 Добавить или отнять репутацию

    По умолчанию

    4х4 использовался в в хп верси, на счет предыдущих не уверен анимация шла 1,2,3,4 в вх уже 2.1.2.3
    так же можно делать анимации движений и эмоций более плавными с чарсетом в 4 фрейма, можно сделать целый комплекс действий с фреймом более 4 фреймов, но это уже совсем другая история.
    проги есть, поищи charset xp to vx или как то так

  3. #3
    Познающий Аватар для JackCL
    Информация о пользователе
    Регистрация
    27.07.2013
    Адрес
    Дальний Восток
    Сообщений
    554
    Записей в дневнике
    85
    Репутация: 30 Добавить или отнять репутацию

    По умолчанию

    Цитата Сообщение от DeSid Посмотреть сообщение
    P.S.
    Может еще и прога существует которая обрезает левый столбец автоматически? Так-то алгоритм вроде там простой, только вот с программированием у меня сложно.
    Ну, если лень обрезать в графическом редакторе, есть скрипт, позволяющий использовать 4x4 в VX/VXAcе.
    Для использования просто добавляешь в начало имени файла с чарсетом $xp
    Например $xp_Eric.png

    Спойлер :

    Код:
    #==============================================================================
    # ** MSX - XP Characters on VX/VXAce
    #==============================================================================
    # Author: Melosx
    # Notes translated by ShinGamix
    # http://www.rpgmakervxace.net/index.php?/user/1272-shingamix/
    # Version: 1.0
    # Compatible with VX and VXAce
    #
    #==============================================================================
    # * Description
    # -----------------------------------------------------------------------------
    # This script allows you to use xp in vx chara simply inserting the tag
    # $ xp
    # Before the name of the file.		  
    # You can then use the normal VX / VXAce along with those of XP.
    #
    #==============================================================================
    # * Instructions
    # -----------------------------------------------------------------------------
    # Place the script under Materials and above Main. Add to chara of XP
    # $ Xp before the tag name.
    #
    #==============================================================================
    
    #==============================================================================
    # ** Sprite_Character
    #==============================================================================
    
    class Sprite_Character < Sprite_Base
     
      def update_bitmap
        if @tile_id != @character.tile_id or
    	  @character_name != @character.character_name or
    	  @character_index != @character.character_index
    	  @tile_id = @character.tile_id
    	  @character_name = @character.character_name
    	  @character_index = @character.character_index
    	  if @tile_id > 0
    	    sx = (@tile_id / 128 % 2 * 8 + @tile_id % 8) * 32;
    	    sy = @tile_id % 256 / 8 % 16 * 32;
    	    self.bitmap = tileset_bitmap(@tile_id)
    	    self.src_rect.set(sx, sy, 32, 32)
    	    self.ox = 16
    	    self.oy = 32
    	  else
    	    self.bitmap = Cache.character(@character_name)
    	    sign = @character_name[/^[!$]./]
    	    if sign != nil and sign.include?('$')
    		  @cw = bitmap.width / 3
    		  @ch = bitmap.height / 4
    	    else
    		  @cw = bitmap.width / 12
    		  @ch = bitmap.height / 8
    	    end
    	    if @character_name != nil and @character_name.include?('$xp')
    		  @cw = bitmap.width / 4
    		  @ch = bitmap.height / 4
    	    end
    	    self.ox = @cw / 2
    	    self.oy = @ch
    	  end
        end
      end
    		  
      def update_src_rect
        if @character_name != nil and @character_name.include?('$xp')
    	  if @tile_id == 0
    	    pattern = @character.pattern > 0 ? @character.pattern - 1 : 3
    	    sx = pattern * @cw
    	    sy = (@character.direction - 2) / 2 * @ch
    	    self.src_rect.set(sx, sy, @cw, @ch)
    	  end
        else
    	  if @tile_id == 0
    	    index = @character.character_index
    	    pattern = @character.pattern < 3 ? @character.pattern : 1
    	    sx = (index % 4 * 3 + pattern) * @cw
    	    sy = (index / 4 * 4 + (@character.direction - 2) / 2) * @ch
    	    self.src_rect.set(sx, sy, @cw, @ch)
    	  end
        end
      end
    end
    
    #==========================================================================
    # ** Window_Base
    #==========================================================================
    
    class Window_Base < Window
    
      def draw_character(character_name, character_index, x, y)
        return if character_name == nil
        bitmap = Cache.character(character_name)
        sign = character_name[/^[!$]./]
        if character_name != nil and character_name.include?('$xp')
    	  cw = bitmap.width / 4
    	  ch = bitmap.height / 4
    	  n = character_index
    	  src_rect = Rect.new(0, 0, cw, ch)
        else
    	  if sign != nil and sign.include?('$')
    	    cw = bitmap.width / 3
    	    ch = bitmap.height / 4
    	  else
    	    cw = bitmap.width / 12
    	    ch = bitmap.height / 8
    	  end
    	  n = character_index
    	  src_rect = Rect.new((n%4*3+1)*cw, (n/4*4)*ch, cw, ch)
        end
        self.contents.blt(x - cw / 2, y - ch, bitmap, src_rect)
      end
     
    end

  4. #4

    По умолчанию

    HopeBree, JackCL
    Спасибо ребят, прояснили для меня ситуацию)

  5. #5

    По умолчанию

    Если кто еще заинтерисуется вдруг подобной темой, то вот оставлю ссылку на хорошую, годную программу для конверта 4х4 чарсетов в 3х4.

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

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

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

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

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

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

Ваши права

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