UltimaForum

Pomoc [VXAce] - jeden obrazek zamiast chara

Valdali - Pon 25 Cze, 2012 19:13
Temat postu: jeden obrazek zamiast chara
witajcie!
grzebałem w skryptach i nie mogłem tego znaleść :-(
chodzi mi mianowicie o to, aby każdy char na mapie składał się z pojedynczego
obrazka w zakładce characters a nie z klatek animacji (mam paczke wielu takich obrazków i nie chce mi się ich wklejać w każdą klatkę)

czy ktoś mógłby i pomóc?
było by mi baaaardzo miło :dd

Ayene - Pon 25 Cze, 2012 21:49

Jeśli chcesz, aby w charze wyświetlało zawsze pierwszą klatkę, jeśli dobrze rozumiem, to wejdź w skrypt 'Sprite_Character', znajdź fragment:
Kod:
sx = (index % 4 * 3 + pattern) * @cw
sy = (index / 4 * 4 + (@character.direction - 2) / 2) * @ch

zamień go na:
Kod:
sx, sy = 0, 0

Valdali - Pon 25 Cze, 2012 21:58

dzieki Ayane a dało by sie to urozmaicic tak zeby mi czytało odpowiedni obrazek, bo wiesz tak dla wygody chciałbym miec to na szybko bo mam kupe takich pojedynczych kaltek i przeklejanie zajeło by mi spoooro czasu.
chyba rozumiesz o co mi chodz?

Ayene - Pon 25 Cze, 2012 22:11

Nie wiem, czy o to Tobie chodzi, ale zamień to co wkleiłeś:
Kod:
sx, sy = 0, 0

na:
Kod:
sx = (index % 4 * 3) * @cw
sy = (index / 4 * 4) * @ch

Valdali - Pon 25 Cze, 2012 22:36

nic jakby to nie zrobiło ;(
Ayene - Wto 26 Cze, 2012 13:20

W takim razie, nie wiem o co chodzi. Nie wiem, zobrazuj to, czy coś :->
pw1602 - Wto 26 Cze, 2012 14:29

Ayene, Valdali chodzi chyba o to, że chce, aby mu odczytywało wybrany przez niego obrazek, żeby nie musiał ich przeklejać.

PS. Chyba o to chodziło?

Roki132 - Wto 26 Cze, 2012 14:50

Valdali, czy chodzi ci o cuś takiego:
Zamiast wybierać charset, w którym są wszystkie klatki, to chodzi mu o to, że w character, charstet nie będzie w całości, tylko np tak:
char1-dol1.png;char1-dol2.png i tak dalej.
Dobrze rozumiem?

Valdali - Wto 26 Cze, 2012 17:11

Ayene to jest jakby obrazek jednego z bohaterów:
http://zapodaj.net/8f75b9dab3c79.png.html
chcę, żeby każdy taki obrazek to był char czyli cały czas tylko w takiej jednej klatce podążał po mapie :mrgreen:

Ayene - Wto 26 Cze, 2012 18:25

Umieść ten skrypt nad Main:
Kod:
class Sprite_Character < Sprite_Base
  def set_character_bitmap
    self.bitmap = Cache.character(@character_name)
    sign = @character_name[/^[\!\$]./]
    if sign && sign.include?('#')
      @cw = bitmap.width
      @ch = bitmap.height
    elsif sign && sign.include?('$')
      @cw = bitmap.width / 3
      @ch = bitmap.height / 4   
    else
      @cw = bitmap.width / 12
      @ch = bitmap.height / 8
    end
    self.ox = @cw / 2
    self.oy = @ch
  end
 
  def update_src_rect
    if @tile_id == 0
      index = @character.character_index
      pattern = @character.pattern < 3 ? @character.pattern : 1
      sx = 0
      sy = 0
      self.src_rect.set(sx, sy, @cw, @ch)
    end
  end
end

Aby wyświetlało całego chara musi być odpowiednio nazwany, czyli musi zawierać oba znaki $# lub !# Przykład: '!#Char'.

Valdali - Sro 27 Cze, 2012 19:04

Dziękuje ci Ayene teraz dziala ;D

Powered by phpBB modified by Przemo © 2003 phpBB Group