Ogłoszenie 

Uwaga! To forum jest w trybie offline.
Wszelką pomoc uzyskasz pod adresem
forum.ultimateam.pl


Administracja Forum


Poprzedni temat «» Następny temat
Dodatkowe frame'y do obrazków.
Autor Wiadomość
CreeperCrisis 



Preferowany:
RPG Maker VXAce

Pomógł: 32 razy
Dołączył: 01 Maj 2010
Posty: 395
Wysłany: Pią 14 Maj, 2010 12:49
Dodatkowe frame'y do obrazków.
Dodatkowe frame'y do postaci


Opis:
Nie musisz teraz konwenterować obrazków z XP... :mrgreen:

Instrukcja:

Jest przetłumaczona w skrypcie...

Demo:

Niepotrzebne...

Screenshot:

Niepotrzebne...

Skrypt:

Spoiler:

Kod:
#==============================================================================
# EXTRA MOVEMENT FRAMES VERSION 1.0
# AUTOR: modern algebra (RMRK.NET)
# DATA: 20 STYCZEŃ 2008
# INSTRUKCJA:.
#   - Wstaw skrypt nad Main.
#   - Wstaw do Graphics\Chararacters obrazek z XP np. postać z czterema frame'ami.
#   - Nazwij obrazek tak: !$%[ilość frame'ów]Nazwa obrazka.png
#   - Wygląda to tak: !$%[4]001-Fighter01
#   - Wstawia się do [ilość frame'ów] liczbę frame'ów np. [4] lub [5] zależy od obrazka
#
#                                          DALEJ NIE EDYTOWAĆ!!!!!!!
#                                            NO CHYBA, ŻE BŁĄD......
#------------------------------------------------------------------------------
# ** Game_Character
#------------------------------------------------------------------------------
# Summary of changes:
# aliased methods - update_animation
# new class variables - height divisor, width divisor
# new methods - calculate_divisors
#==============================================================================

class Game_Character
 #--------------------------------------------------------------------------
 # * Public Instance Variables
 #--------------------------------------------------------------------------
 attr_reader :height_divisor    # The height of a single frame
 attr_reader :width_divisor     # number of frames in the x direction
 #--------------------------------------------------------------------------
 # * Calculate Divisors
 #--------------------------------------------------------------------------
 # Sets up the instance variables required
 #--------------------------------------------------------------------------
 def calculate_divisors
   return unless @previous_character.nil? || @previous_character != @character_name
   bitmap = Cache.character (@character_name)
   sign = @character_name[/^[\!\$].[\%]\[\d*\]/]
   if !sign.nil? && sign.size > 5
     @original_pattern = 0
     @width_divisor = sign[4, sign.size - 5].to_i
     @height_divisor = 4
   elsif !sign.nil? && sign.include? ('$')
     @width_divisor = 3
     @height_divisor = 4
   else
     @width_divisor = 12
     @height_divisor = 8
   end
   @previous_character = @character_name
 end
 #--------------------------------------------------------------------------
 # * Update Animation
 #--------------------------------------------------------------------------
 # Change the hard coded values to ones dependent on character graphic format
 #--------------------------------------------------------------------------
 alias ma_extra_movement_frames_anim_upd update_animation
 def update_animation
   saved_anime_count = @anime_count
   pattern_original = @pattern
   speed = @move_speed + (dash? ? 1 : 0)
   ma_extra_movement_frames_anim_upd
   if (saved_anime_count > (18 - speed * 2)) && (@step_anime || (@stop_count <= 0))
     @pattern = (pattern_original + 1) % @width_divisor
   end
 end
end

#==============================================================================
# * Sprite Character
#------------------------------------------------------------------------------
# Summary of changes:
# aliased methods - update_src_rect, update_bitmap
#==============================================================================

class Sprite_Character
 #--------------------------------------------------------------------------
 # * Update Src Rect
 #--------------------------------------------------------------------------
 # Interpret multiple movement frames: Changed pattern
 #--------------------------------------------------------------------------
 alias ma_extra_movement_frames_src_rect_upd update_src_rect
 def update_src_rect
   if @tile_id == 0
     ma_extra_movement_frames_src_rect_upd
     index = @character.character_index
     pattern = @character.pattern < @character.width_divisor ? @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
 #--------------------------------------------------------------------------
 # * Update Bitmap
 #--------------------------------------------------------------------------
 # Change hard coded values to ones dependent on character graphic
 #--------------------------------------------------------------------------
 alias ma_extra_movement_frames_bmp_upd update_bitmap
 def update_bitmap
   @character.calculate_divisors
   saved_tile_id = @tile_id
   saved_character_name = @character_name
   saved_character_index = @character_index
   ma_extra_movement_frames_bmp_upd
   if saved_tile_id != @character.tile_id or
     saved_character_name != @character.character_name or
     saved_character_index != @character.character_index
     unless @tile_id > 0
       @cw = bitmap.width / @character.width_divisor
       @ch = bitmap.height / @character.height_divisor
       self.ox = @cw / 2
       self.oy = @ch
     end
   end
 end
end

#==============================================================================
# ** Window Base
#------------------------------------------------------------------------------
# Summary of changes:
# overwritten methods - draw_character
#==============================================================================

class Window_Base
 #--------------------------------------------------------------------------
 # * Draw Charater (overwritten for extra movement frames)
 # character_name : the name of the character file
 # character_index : the index of the character in the file
 # x : the x position to draw
 # y : the y position to draw
 #--------------------------------------------------------------------------
 def draw_character(character_name, character_index, x, y)
   return if character_name == nil
   bitmap = Cache.character(character_name)
   sign = character_name[/^[\!\$].[\%]\[\d*\]/]
   if !sign.nil? && sign.size > 5
     cw = bitmap.width / sign[4, sign.size - 5].to_i
     ch = bitmap.height / 4
   elsif 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)
   self.contents.blt(x - cw / 2, y - ch, bitmap, src_rect)
 end
end


To mój drugi skrypt. Pierwszy wygasł. :mrgreen:
Ostatnio zmieniony przez Ayene Pon 17 Maj, 2010 12:07, w całości zmieniany 1 raz  
 
 
Czeliosss 



Ranga RM:
1 gra

Pomógł: 49 razy
Dołączył: 02 Lis 2009
Posty: 661
Skąd: Wa-wa
Wysłany: Pią 14 Maj, 2010 20:18
Twój czy czyiś? Patrząc w skrypcie znalazłem autora. Nie przywłaszczaj sobie cudzych skryptów, to jest plagiat.
Pzdr.
________________________
...Amelanduil & FireBlade words will be remembered...
...Amelanduil & FireBlade acts will be remembered...
...Amelanduil & FireBlade never gonna die...

Nie pisać, bo nie odpiszę.
 
 
Kable 




Preferowany:
RPG Maker VX

Pomógł: 5 razy
Dołączył: 17 Lis 2007
Posty: 116
Skąd: Słupsk
Wysłany: Pon 17 Maj, 2010 10:57
Czeliosss, Zapewne chodziło mu, że już dodał drugi skrypt na Forum ;p... tak by zmienił Autora tłumacząc to ;p
 
 
Amelanduil 




Preferowany:
RPG Maker VXAce

Pomógł: 3 razy
Dołączył: 28 Wrz 2011
Posty: 464
Wysłany: Wto 18 Maj, 2010 16:36
sebek_minko napisał/a:
# AUTOR: modern algebra (RMRK.NET)


To MÓJ drugi skrypt. Pierwszy wygasł.

Nie przywłaszczamy cudzych skryptów!
+ Opisałbyś dokładniej działanie skryptu.
________________________
(╯°□°)╯︵ ┻━┻
"A jeśli... Boga nie ma, to co z ciebie za szatan?"
 
 
 
CreeperCrisis 



Preferowany:
RPG Maker VXAce

Pomógł: 32 razy
Dołączył: 01 Maj 2010
Posty: 395
Wysłany: Wto 18 Maj, 2010 20:17
No wiem, że to nie mój skrypt. Chciałem tymi słowami wytłumaczyć że to drugi skrypt, który ja wstawiłem na forum.
 
 
Wyświetl posty z ostatnich:   
Odpowiedz do tematu
Nie możesz pisać nowych tematów
Nie możesz odpowiadać w tematach
Nie możesz zmieniać swoich postów
Nie możesz usuwać swoich postów
Nie możesz głosować w ankietach
Nie możesz załączać plików na tym forum
Możesz ściągać załączniki na tym forum
Dodaj temat do Ulubionych
Wersja do druku

Skocz do:  

Powered by phpBB modified by Przemo © 2003 phpBB Group | Template Klam by Ayene