RPGXP 스크립트
2013.09.27 02:21

FPS 표시 스크립트

조회 수 1181 추천 수 0 댓글 7
?

단축키

Prev이전 문서

Next다음 문서

크게 작게 위로 아래로 댓글로 가기 인쇄 수정 삭제
?

단축키

Prev이전 문서

Next다음 문서

크게 작게 위로 아래로 댓글로 가기 인쇄 수정 삭제


Graphics.frame_rate = 60
class FPS_Display
 
  #===CONFIGURATION===#
    TOGGLE = Input::F5
  #=END CONFIGURATION=#
 
  attr_accessor :frame_count
 
        def initialize
   
                # Create Sprite to display FPS
                @counter = Sprite.new
   
                # Position Sprite
                @counter.x, @counter.z = 500, 99999999
   
                # Create / Setup Bitmap
                @counter.bitmap = Bitmap.new(200, 24)
                #@counter.bitmap.fill_rect(0, 0, 200, 24, Color.new(0, 0, 0))
                @counter.bitmap.font.size = 15
                @counter.bitmap.font.name = '나눔고딕'
                @counter.bitmap.font.bold = true
                #@counter.bitmap.draw_text(100, 0, 100, 24, ' fps')
   
                # Get Target Frame Rate
                @frame_rate = Graphics.frame_rate
   
                # Set Start time
                @start = nil
                @on = true
                @frame_count = 0
                @fps = @frame_rate
                refresh
   
        end
       
        def refresh
   
                # Clear FPS
                #@counter.bitmap.fill_rect(0, 0, 100, 24, Color.new(0,0,0))
                @counter.bitmap.clear
                # Redraw Current FPS
                @counter.bitmap.font.color = Color.new(0,0,0,120)
                @counter.bitmap.draw_text(100-1, 0, 100, 24, ' fps')
                @counter.bitmap.draw_text(100-1, -1, 100, 24, ' fps')
                @counter.bitmap.draw_text(100-1, +1, 100, 24, ' fps')
                @counter.bitmap.draw_text(100+1, -1, 100, 24, ' fps')
                @counter.bitmap.draw_text(100+1, 1, 100, 24, ' fps')
                @counter.bitmap.draw_text(100+1, 0, 100, 24, ' fps')
                @counter.bitmap.draw_text(100, 1, 100, 24, ' fps')
                @counter.bitmap.draw_text(100, -1, 100, 24, ' fps')
                @counter.bitmap.draw_text(-1, 0, 100, 24, @fps.to_s ,2)
                @counter.bitmap.draw_text(1, 0, 100, 24, @fps.to_s ,2)
                @counter.bitmap.draw_text(0, 1, 100, 24, @fps.to_s ,2)
                @counter.bitmap.draw_text(1, -1, 100, 24, @fps.to_s ,2)
                @counter.bitmap.draw_text(1, -1, 100, 24, @fps.to_s ,2)
                @counter.bitmap.draw_text(1, 1, 100, 24, @fps.to_s ,2)
                @counter.bitmap.draw_text(-1, -1, 100, 24, @fps.to_s ,2)
                @counter.bitmap.draw_text(-1, 1, 100, 24, @fps.to_s ,2)
                @counter.bitmap.font.color = Color.new(255,255,255)
                 @counter.bitmap.draw_text(100, 0, 100, 24, ' fps')
                @counter.bitmap.draw_text(0, 0, 100, 24, @fps.to_s ,2)#+ " / " +
                      #@frame_rate.to_s, 2)
   
        end
               
        def update
   
                # If F5 is pressed, toggle FPS display
                if Input.trigger?(TOGGLE)
                        @on = !@on
                        @counter.visible = @on
                end
   
               (@frame_count = 0; return) if !@on
               if @start == nil
                 @start = Time.now
                 @frame_count = 0
               end
               # Get time elapsed in seconds
               cur_time = Time.now - @start
   
               if cur_time >= 1
               # Get Frames per second
               fps = (@frame_count / cur_time).to_i
   
               # If during check interval and the Frame Rate has changed
               if @fps != fps
                  @fps = fps
                  refresh
                end
                @start = nil
        end
   
        end
       
        def dispose
   
                @counter.dispose; @counter = nil
   
        end
 
end

module Graphics
 
  class << self
   
    alias :new_upd_fps :update unless method_defined?(:new_upd_fps)
   
  end
 
  def self.update
   
    self.new_upd_fps
    $fps = FPS_Display.new if $fps == nil
    #return if $fps == nil
   
    $fps.frame_count += 1
    $fps.update
   
  end
 
end

?

  1. 3D 그래픽 파티클 스크립트

    Date2013.09.29 CategoryRPGVX 스크립트 By청담 Views1290 Votes0
    Read More
  2. 일시정지 스크립트

    Date2013.09.29 CategoryRPGXP 스크립트 By청담 Views938 Votes0
    Read More
  3. 셀프 스위치 조작

    Date2013.09.29 CategoryRPGXP 스크립트 By청담 Views665 Votes0
    Read More
  4. HBGames.ORG::Motion Blur

    Date2013.09.27 CategoryRPGXP 스크립트 By죽은노예 Views777 Votes0
    Read More
  5. 횡스크롤 스크립트

    Date2013.09.27 CategoryRPGXP 스크립트 By 운 Views1121 Votes0
    Read More
  6. FPS 표시 스크립트

    Date2013.09.27 CategoryRPGXP 스크립트 By 운 Views1181 Votes0
    Read More
  7. 아이템 소지수 무제한 스크립트

    Date2013.09.24 CategoryRPGXP 스크립트 By청담 Views1007 Votes0
    Read More
  8. 메뉴에서 실제시간 보는 스크립트

    Date2013.09.24 CategoryRPGXP 스크립트 By청담 Views610 Votes0
    Read More
  9. 장비제련 스크립트

    Date2013.09.24 CategoryRPGXP 스크립트 By청담 Views1032 Votes0
    Read More
  10. 맵 이동시 로딩 그림 표시 스크립트

    Date2013.09.24 CategoryRPGXP 스크립트 By청담 Views735 Votes0
    Read More
  11. 커다란 그래픽 좁은 길 못지나가는 스크립트

    Date2013.09.24 CategoryRPGXP 스크립트 By청담 Views874 Votes0
    Read More
  12. 복권 스크립트

    Date2013.09.24 CategoryRPGXP 스크립트 By청담 Views934 Votes0
    Read More
  13. 창고 시스템

    Date2013.09.24 CategoryRPGXP 스크립트 By청담 Views991 Votes0
    Read More
  14. 레벨업시 전회복 스크립트

    Date2013.09.24 CategoryRPGXP 스크립트 By청담 Views717 Votes0
    Read More
  15. 대화 글씨가 한글자씩 나오는 스크립트

    Date2013.09.24 CategoryRPGXP 스크립트 By청담 Views1421 Votes0
    Read More
  16. 간단한 여관 스크립트

    Date2013.09.24 CategoryRPGXP 스크립트 By청담 Views914 Votes0
    Read More
  17. 자동으로 장애물을 피해가는 스크립트

    Date2013.09.24 CategoryRPGXP 스크립트 By청담 Views868 Votes0
    Read More
  18. 경험치 표시 스크립트

    Date2013.09.24 CategoryRPGXP 스크립트 By청담 Views757 Votes0
    Read More
  19. 지정한 아이템 갯수 제한 스크립트

    Date2013.09.24 CategoryRPGXP 스크립트 By청담 Views1140 Votes0
    Read More
  20. 아이템 사용 클래스 한정 스크립트

    Date2013.09.24 CategoryRPGXP 스크립트 By청담 Views955 Votes0
    Read More
Board Pagination Prev 1 ... 5 6 7 8 9 10 11 12 13 14 15 Next
/ 15






[개인정보취급방침] | [이용약관] | [제휴문의] | [후원창구] | [인디사이드연혁]

Copyright © 1999 - 2016 INdiSide.com/(주)씨엘쓰리디 All Rights Reserved.
인디사이드 운영자 : 천무(이지선) | kernys(김원배) | 사신지(김병국)