Gió vẫn thôi, mưa vẫn rơi, trời đông vẫn đầy tuyết - Người xưa nay ở đâu?

Thảo luận trong 'Game Development' bắt đầu bởi ken10, 31/12/06.

  1. Meteor95

    Meteor95 Mario & Luigi

    Tham gia ngày:
    27/4/07
    Bài viết:
    861
    Đụng hàng,đụng hàng Zid òi:P.Tuy vậy cũng đẹp đấy,lại nổi hứng biến đổi cái HUD òi,thấy HUD của mình lạchajju quá
     
  2. EvilEagles

    EvilEagles Donkey Kong

    Tham gia ngày:
    15/5/06
    Bài viết:
    344
    Nơi ở:
    Hanoi, Vietnam
    Công bố chính thức :"> từ h chỉ có gợi ý thôi =))
     
  3. Thundaga_Bum

    Thundaga_Bum Terminator-1200 Lão Làng GVN

    Tham gia ngày:
    6/1/07
    Bài viết:
    7,688
    Nơi ở:
    Hà Nội
    EE công bố xong thì tớ cũng đã hoàn thành HUD với Menu òy :))

    btw thankss for sharing :">
     
  4. Meteor95

    Meteor95 Mario & Luigi

    Tham gia ngày:
    27/4/07
    Bài viết:
    861
    À,mà đang cần hướng dẫn cách sử dụng cái delay dam,bác Thundaga chỉ em với,chả hiểu gì cả
     
  5. Thundaga_Bum

    Thundaga_Bum Terminator-1200 Lão Làng GVN

    Tham gia ngày:
    6/1/07
    Bài viết:
    7,688
    Nơi ở:
    Hà Nội
    đơn giản lém, các tag ra Dam trong Action của Skill là :

    "OBJ_ANIM"
    "OBJ_ANIM_WEIGHT"
    "OBJ_ANIM_WEAPON"

    trước các tag đó cậu thêm vào tag delay time là "thời gian delay"

    ví dụ như : "60" --> delay 60s

    tùy vào độ dài của Animation và thời điểm ra Dam mà cậu canh thế nào đó cho vừa ý mình :D

    thế nhá, tớ phải đi học đây
     
  6. EvilEagles

    EvilEagles Donkey Kong

    Tham gia ngày:
    15/5/06
    Bài viết:
    344
    Nơi ở:
    Hanoi, Vietnam
    Nhớ câu này rồi đấy nhé :">
    30 chars ...
     
  7. Thundaga_Bum

    Thundaga_Bum Terminator-1200 Lão Làng GVN

    Tham gia ngày:
    6/1/07
    Bài viết:
    7,688
    Nơi ở:
    Hà Nội
    có ai rảnh về viewport không cho tớ hỏi tí nào :-?
     
  8. prince of games

    prince of games Space Marine Doomguy

    Tham gia ngày:
    21/8/06
    Bài viết:
    5,784
    Nơi ở:
    Vô Gia Cư :))
    xog 1 map cho ông nè thunder



    [​IMG]

    [​IMG]

    map này có kích thước là 17x30 p.m tui nhận hàng
    nhưng mà ko làm sao ra cái vẻ hiện đại đc nếu cậu có tileset của con tàu hiện đại thj` share tui vẽ cho
     
  9. Thundaga_Bum

    Thundaga_Bum Terminator-1200 Lão Làng GVN

    Tham gia ngày:
    6/1/07
    Bài viết:
    7,688
    Nơi ở:
    Hà Nội
    http://uirpg.com/resources/xp_gfx/2531.png

    dùng cái trên đi, tàu kia nhìn như tàu thủy á =,=

    quan trọng là phòng lái, phòng chỉ huy và mấy phần hành lang bên trong tàu ấy

    có gì lên Yh bàn cho tiện :">
     
  10. prince of games

    prince of games Space Marine Doomguy

    Tham gia ngày:
    21/8/06
    Bài viết:
    5,784
    Nơi ở:
    Vô Gia Cư :))
    cái này vẽ thj` hơi bị xấu à tại vì đây là tileset của RPG 2k
     
  11. prince of games

    prince of games Space Marine Doomguy

    Tham gia ngày:
    21/8/06
    Bài viết:
    5,784
    Nơi ở:
    Vô Gia Cư :))
    Thunder nè map thành phố tui vẽ sắp xog rồi ông có thể share cho tôi thêm vài ba cái tileset của thành phố ko , để làm phong phú và chi tiết hơn đó mà
     
  12. Thundaga_Bum

    Thundaga_Bum Terminator-1200 Lão Làng GVN

    Tham gia ngày:
    6/1/07
    Bài viết:
    7,688
    Nơi ở:
    Hà Nội
    đây, tớ có 2 cái :-?
     

    Các file đính kèm:

  13. prince of games

    prince of games Space Marine Doomguy

    Tham gia ngày:
    21/8/06
    Bài viết:
    5,784
    Nơi ở:
    Vô Gia Cư :))
    còn cái nào khác ko 8-} của XP cũng đc .
     
  14. Meteor95

    Meteor95 Mario & Luigi

    Tham gia ngày:
    27/4/07
    Bài viết:
    861
    Chán quá,topic của project bị del òi:(
    Chán nên post tạm vài tấm vào đây

    [​IMG]
    JUMP bình thường​

    [​IMG]
    [​IMG]
    [​IMG]
    COMBO ELEMENTAL JUMP(hình như cần thêm v-ing thì phải :-*)​
     
  15. voduykhaidino

    voduykhaidino Youtube Master Race

    Tham gia ngày:
    27/5/03
    Bài viết:
    54
    sao thấy hình game mờ vậy bạn :|
     
  16. Meteor95

    Meteor95 Mario & Luigi

    Tham gia ngày:
    27/4/07
    Bài viết:
    861
    Cái battleback và anim phóng to ra thì nó hơi mờ bạn ạ,đó là điều k thể tránh
     
  17. Thundaga_Bum

    Thundaga_Bum Terminator-1200 Lão Làng GVN

    Tham gia ngày:
    6/1/07
    Bài viết:
    7,688
    Nơi ở:
    Hà Nội
    [​IMG]

    New HUD siêu rối rắm :)) Game không dành cho người bị cận nặng =))
     

    Các file đính kèm:

  18. EvilEagles

    EvilEagles Donkey Kong

    Tham gia ngày:
    15/5/06
    Bài viết:
    344
    Nơi ở:
    Hanoi, Vietnam
    [​IMG]

    Script tớ mới viết :"> các bạn cứ tự nhiên :"> Plug n' Play nhé :">

    Mã:
    # ============================================================================ #
    # Menu Nostalgia v1.0
    # by Zidane ~ EvilEagles
    # This script makes your menu look like the menu of the DS game Nostalgia.
    # ============================================================================ #
    
    module Zid
    # ---------------------------------------------------------------------------- #
    # Set the description for each Menu command.
    # ---------------------------------------------------------------------------- #
    
       ITEMCMD_DESCRIPTION   = "View your items"
       SKILLCMD_DESCRIPTION  = "View your skills"
       EQUIPCMD_DESCRIPTION  = "Equip your characters"
       STATUSCMD_DESCRIPTION = "View your status"
       SAVECMD_DESCRIPTION   = "Save your progress"
       ENDCMD_DESCRIPTION    = "End Game"
    
    # ----------------------- END OF THE CONFIGURATION --------------------------- #
    #        DON'T TOUCH ANYTHING UNLESS YOU KNOW WHAT YOU'RE DOING
    # ---------------------------------------------------------------------------- #
    end
       
    #==============================================================================
    # ** Window_MenuCommand
    #==============================================================================
    class Window_MenuCom < Window_Selectable
      #--------------------------------------------------------------------------
      # * Object Initialization
      #     x      : window x-coordinate
      #     y      : window y-coordinate
      #     width  : window width
      #     height : window height
      #--------------------------------------------------------------------------
      def initialize(x, y, width, height)
        super(137, 10, width - 270, WLH + 34, 10)
        @column_max = 6
        self.index = 0
        refresh
      end
      #--------------------------------------------------------------------------
      # * Get Item
      #--------------------------------------------------------------------------
      def item
        return @data[self.index]
      end
      #--------------------------------------------------------------------------
      # * Whether or not to display in enabled state
      #     item : item
      #--------------------------------------------------------------------------
      def enable?(index)
        if $game_party.members.size == 0 and index <= 3
          return false
        end
        if $game_system.save_disabled and index = 6
          return false
        end
        return true
      end
      #--------------------------------------------------------------------------
      # * Refresh
      #--------------------------------------------------------------------------
      def refresh
        @data = ["Item","Skill","Equip","Status","Save","End"]
        @icon = [64,231,3,137,141,224]
        @item_max = @data.size
        create_contents
        for i in 0...@item_max
          draw_item(i)
        end
      end
      #--------------------------------------------------------------------------
      # * Draw Item
      #     index : item number
      #--------------------------------------------------------------------------
      def draw_item(index)
        rect = item_rect(index)
        self.contents.clear_rect(rect)
        item = @data[index]
        if item != nil
          enabled = enable?(index)
          rect.width -= 10
          rect.x += 0
          draw_icon(@icon[index], rect.x + 3, rect.y + 3, enabled)
        end
      end
    
      
      def item_rect(index)
        rect = Rect.new(0, 0, 0, 0)
        rect.width = (contents.width + @spacing) / @column_max - @spacing
        rect.height = 30
        rect.x = index % @column_max * (rect.width + @spacing)
        rect.y = index / @column_max * WLH
        return rect
      end
      
    end
    
    
    #==============================================================================
    # ** Window_MenuNosStatus
    #------------------------------------------------------------------------------
    #  This window displays party member status on the menu screen.
    #==============================================================================
    
    class Window_MenuNosStatus < Window_Selectable
      #--------------------------------------------------------------------------
      # * Object Initialization
      #     x : window X coordinate
      #     y : window Y coordinate
      #--------------------------------------------------------------------------
      def initialize(x, y)
        super(0, 56, 384, 304)
        refresh
        self.active = false
        self.index = -1
        self.z = 0
      end
      #--------------------------------------------------------------------------
      # * Refresh
      #--------------------------------------------------------------------------
      def refresh
        self.contents.clear
        @item_max = $game_party.members.size
        for actor in $game_party.members
          draw_actor_face(actor, 2, actor.index * 68 + 2 ,65 )
          x = 68
          y = actor.index * 70
           self.contents.font.bold = true
           draw_actor_name(actor, x + 5, y)
           self.contents.font.bold = false
           draw_actor_level(actor, x + 110, y)
           draw_actor_state(actor, x + 170, y)
           self.contents.font.size = 18
           draw_nosactor_hp(actor, x + 10, y + WLH * 1)
           draw_nosactor_mp(actor, x + 150, y + WLH * 1)
           self.contents.font.size = 21
           draw_actor_exp_meter(actor, x + 45, y + WLH * 2 - 10)
        end
      end
      
     
      #--------------------------------------------------------------------------
      # * Update cursor
      #--------------------------------------------------------------------------
      def update_cursor
        if @index < 0               # No cursor
          self.cursor_rect.empty
        elsif @index < @item_max    # Normal
          self.cursor_rect.set(0, @index * 68, contents.width, 68)
        elsif @index >= 100         # Self
          self.cursor_rect.set(0, (@index - 100) * 96, contents.width, 96)
        else                        # All
          self.cursor_rect.set(0, 0, contents.width, @item_max * 96)
        end
      end
    end
    
    
    
    #==============================================================================
    # ** Window_Base
    #==============================================================================
    
    class Window_Base
      #--------------------------------------------------------------------------
      # * Draw HP
      #     actor : actor
      #     x     : draw spot x-coordinate
      #     y     : draw spot y-coordinate
      #     width : Width
      #--------------------------------------------------------------------------
      def draw_nosactor_hp(actor, x, y)
        contents.font.bold = true
        contents.font.color = Color.new(255,126,0)
        contents.draw_text(x, y, 30, WLH, Vocab::hp_a)
        contents.font.bold = false
        contents.font.color = normal_color
        contents.font.color = hp_color(actor)
        last_font_size = contents.font.size
        contents.draw_text(x + 24, y, 44, WLH, actor.hp, 2)
        contents.font.color = normal_color()
        contents.draw_text(x + 68, y, 11, WLH, "/", 2)
        contents.draw_text(x + 79, y, 44, WLH, actor.maxhp, 2)
      end
      #--------------------------------------------------------------------------
      # * Draw MP
      #     actor : actor
      #     x     : draw spot x-coordinate
      #     y     : draw spot y-coordinate
      #     width : Width
      #--------------------------------------------------------------------------
      def draw_nosactor_mp(actor, x, y)
        contents.font.bold = true
        contents.font.color = Color.new(0,38,255)
        contents.draw_text(x, y, 30, WLH, Vocab::mp_a)
        contents.font.bold = false
        contents.font.color = normal_color
        contents.font.color = mp_color(actor)
        last_font_size = contents.font.size
        contents.draw_text(x + 24, y, 44, WLH, actor.mp, 2)
        contents.font.color = normal_color()
        contents.draw_text(x + 68, y, 11, WLH, "/", 2)
        contents.draw_text(x + 79, y, 44, WLH, actor.maxmp, 2)
      end
      #--------------------------------------------------------------------------
      # * EXP Gauge Color 1
      #--------------------------------------------------------------------------
      def exp_gauge_color1
        return text_color(30)
      end
      #--------------------------------------------------------------------------
      # * EXP Gauge Color 2
      #--------------------------------------------------------------------------
      def exp_gauge_color2
        return text_color(31)
      end  
      #--------------------------------------------------------------------------
      # * Draw EXP Gauge
      #--------------------------------------------------------------------------
    def draw_actor_exp_meter(actor, x, y, width = 250) 
    
      if actor.next_exp != 0
      exp = actor.now_exp
      else
      exp = 1
      end
        gw = width * exp / [actor.next_exp, 1].max
        gc1 = exp_gauge_color1
        gc2 = exp_gauge_color2
        self.contents.fill_rect(x, y + WLH - 8, width, 6, gauge_back_color)
        self.contents.gradient_fill_rect(x, y + WLH - 8, gw, 6, gc1, gc2)
        self.contents.font.color = Color.new(0,255,29)
        self.contents.draw_text(x - 40, y + 5, 30, WLH, "EXP")
        self.contents.font.color = normal_color
        xr = x + width    
    end
    end
    
    
    #==============================================================================
    # ** Scene_Menu
    #------------------------------------------------------------------------------
    #  This class performs the menu screen processing.
    #==============================================================================
    
    class Scene_Menu < Scene_Base
      #--------------------------------------------------------------------------
      # * Start processing
      #--------------------------------------------------------------------------
      def start
        super
        create_menu_background
         create_command_window
        @gold_window = Window_Gold.new(384, 79)
        @status_window = Window_MenuNosStatus.new(0, 56)
        @help_window  = Window_Help.new
        @help_window.x = 0
        @help_window.y = 360
        @playtime_window = Window_PlayTime.new(384, 135)
        @mapname_window = Window_Mapname.new(384, 191)
      end
      #--------------------------------------------------------------------------
      # * Frame Update
      #--------------------------------------------------------------------------
      def update
        super
        update_menu_background
        @command_window.update
        @gold_window.update
        @status_window.update
        @mapname_window.update
        @playtime_window.update
        if @command_window.active
          update_command_selection
          update_command_selection2
        elsif @status_window.active
          update_actor_selection
        end
      end
      #--------------------------------------------------------------------------
      # * Termination Processing
      #--------------------------------------------------------------------------
      def terminate
        super
        dispose_menu_background
        @command_window.dispose
        @gold_window.dispose
        @status_window.dispose
        @help_window.dispose
        @playtime_window.dispose
        @mapname_window.dispose
      end
      #--------------------------------------------------------------------------
      # * Create Command Window
      #--------------------------------------------------------------------------
      def create_command_window
        @command_window = Window_MenuCom.new(0, 0, 544, 80)
        @command_window.index = @menu_index
        @command_window.z = 200
      end
      #--------------------------------------------------------------------------
      # * Update Command Selection
      #--------------------------------------------------------------------------
      def update_command_selection
        if Input.trigger?(Input::B)
          Sound.play_cancel
          $scene = Scene_Map.new
        elsif Input.trigger?(Input::C)
          if $game_party.members.size == 0 and @command_window.index < 4
            Sound.play_buzzer
            return
          elsif $game_system.save_disabled and @command_window.index == 4
            Sound.play_buzzer
            return
          end
          Sound.play_decision
          case @command_window.index
          when 0      # Item
            $scene = Scene_Item.new
          when 1,2,3  # Skill, equipment, status
            start_actor_selection
          when 4      # Save
            $scene = Scene_File.new(true, false, false)
          when 5      # End Game
            $scene = Scene_End.new
          end
        end
      end
      #--------------------------------------------------------------------------
      # * Start Actor Selection
      #--------------------------------------------------------------------------
      def start_actor_selection
        @command_window.active = false
        @status_window.active = true
        if $game_party.last_actor_index < @status_window.item_max
          @status_window.index = $game_party.last_actor_index
        else
          @status_window.index = 0
        end
      end
      #--------------------------------------------------------------------------
      # * update_command_selection2
      #--------------------------------------------------------------------------
      def update_command_selection2
           case @command_window.index
        when 0
          @help_window.set_text(Zid::ITEMCMD_DESCRIPTION)
        when 1
          @help_window.set_text(Zid::SKILLCMD_DESCRIPTION)
        when 2
          @help_window.set_text(Zid::EQUIPCMD_DESCRIPTION)
        when 3
          @help_window.set_text(Zid::STATUSCMD_DESCRIPTION)
        when 4
          @help_window.set_text(Zid::SAVECMD_DESCRIPTION)
        when 5
          @help_window.set_text(Zid::ENDCMD_DESCRIPTION)
        end 
      end
      #--------------------------------------------------------------------------
      # * End Actor Selection
      #--------------------------------------------------------------------------
      def end_actor_selection
        @command_window.active = true
        @status_window.active = false
        @status_window.index = -1
      end
      #--------------------------------------------------------------------------
      # * Update Actor Selection
      #--------------------------------------------------------------------------
      def update_actor_selection
        if Input.trigger?(Input::B)
          Sound.play_cancel
          end_actor_selection
        elsif Input.trigger?(Input::C)
          $game_party.last_actor_index = @status_window.index
          Sound.play_decision
          case @command_window.index
          when 1  # skill
            $scene = Scene_Skill.new(@status_window.index)
          when 2  # equipment
            $scene = Scene_Equip.new(@status_window.index)
          when 3  # status
            $scene = Scene_Status.new(@status_window.index)
          end
        end
      end
    end
    
    
    #==============================================================================
    # ** Window_PlayTime
    #==============================================================================
    class Window_PlayTime < Window_Base
      def initialize(x, y)
        super(x, y, 160, WLH + 32)
        refresh
      end
      def refresh
        self.contents.clear
        @total_sec = Graphics.frame_count / Graphics.frame_rate
        hour = @total_sec / 60 / 60
        min = @total_sec / 60 % 60
        sec = @total_sec % 60
        text = sprintf("%02d:%02d:%02d", hour, min, sec)
        self.contents.font.color = normal_color
        self.contents.draw_text(4, -5, 120, 32, text, 2)
        draw_icon(188, 4, 0)
    end
      def update
        super
        if Graphics.frame_count / Graphics.frame_rate != @total_sec
          refresh
        end
      end
    end 
    
    #==============================================================================
    # ** Game_Map
    #==============================================================================
    class Game_Map
    attr_reader   :map_id  
    def mpname
    $mpname = load_data("Data/MapInfos.rvdata") 
    $mpname[@map_id].name
    end
    end
    
    #==============================================================================
    # ** Window_Mapname
    #==============================================================================
    class Window_Mapname < Window_Base
      def initialize(x, y)
        super(x, y, 160, WLH * 2 + 32)
        refresh
      end  
    def refresh
        self.contents.clear
        self.contents.font.color = normal_color
        self.contents.draw_text(4, 20, 120, 32, $game_map.mpname.to_s, 2)
        draw_icon(2680, 4, -2)
    end
    end
    
    
    #==============================================================================
    # ** Game_Actor
    #==============================================================================
    class Game_Actor < Game_Battler
    
      #--------------------------------------------------------------------------
      # * now_exp
      #--------------------------------------------------------------------------
        def now_exp
          return @exp - @exp_list[@level]
        end
      #--------------------------------------------------------------------------
      # * next_exp
      #--------------------------------------------------------------------------
        def next_exp
          return @exp_list[@level+1] > 0 ? @exp_list[@level+1] - @exp_list[@level] : 0
        end
    end
     
    Chỉnh sửa cuối: 6/3/10
  19. prince of games

    prince of games Space Marine Doomguy

    Tham gia ngày:
    21/8/06
    Bài viết:
    5,784
    Nơi ở:
    Vô Gia Cư :))
    chúc mừng năm mới , cầu chúc năm nay box ta sẽ vui hơn ;))
     
  20. J.O.Y

    J.O.Y Youtube Master Race

    Tham gia ngày:
    30/1/11
    Bài viết:
    85
    Nơi ở:
    Ho Chi Minh City
    Mình đang làm 1 project cho iphone, dự định xong phần design đầu năm và lên apple store trước hè ^^
    Chào ra mắt mọi người. Mình mới lập lại nick, nick cũ là Just_Only_You
     

Chia sẻ trang này