RPGXP 스크립트
2013.09.27 02:21

FPS 표시 스크립트

조회 수 1166 추천 수 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

?

List of Articles
번호 분류 제목 글쓴이 날짜 조회 수 추천 수
268 RPGXP 스크립트 그레고리우스력 원리. 협객 2011.06.22 2754 0
267 RPGXP 스크립트 아이템소지 한계돌파 file A.M.S 2010.10.24 2248 0
266 RPGXP 스크립트 특정범위내에들어오면이동하기 file A.M.S 2010.10.14 2344 0
265 RPGXP 스크립트 아이템획득 표시 file A.M.S 2010.10.14 2494 0
264 RPGXP 스크립트 UNR (아시려나... ) - 상태 이상 file 동동주 2013.01.20 1085 0
263 RPGXP 스크립트 상점에서 상세정보보여주기 file A.M.S 2010.10.24 2057 0
262 RPGXP 스크립트 부드러운화면이동 file A.M.S 2010.10.24 2375 0
261 RPGXP 스크립트 직업명 표시 file A.M.S 2010.10.24 2103 0
260 RPGXP 스크립트 8방향이동 1 file A.M.S 2010.10.14 2330 0
259 RPGXP 스크립트 반칸이동 1 file A.M.S 2010.07.18 2446 0
258 RPGMV 플러그인 게임에서 제공해주는 노래가 아닌 외부에서 다운받고 안에 넣어쓰려면 어떻게 해야하나요? 3 BigOrca 2019.07.26 1200 0
257 RPGMV 플러그인 한국어 조사 (은/는/이/가) 처리 플러그인 입니다. 2 file 파란별빛 2015.10.24 1040 0
256 RPGMV 플러그인 전투속도 고속화 플러그인. 1 file 파란별빛 2015.10.24 1105 0
255 RPGMV 플러그인 한글 이름 입력 처리 플러그인 1 file 파란별빛 2015.10.24 1680 0
254 RPGMV 플러그인 배틀미스트(전투중포그효과) 플러그인 file 파란별빛 2015.10.26 547 0
253 RPGMV 플러그인 RPG MV 와 AJAX를 이용한 웹 통신 플러그인 파란별빛 2015.10.26 548 0
252 RPGMV 플러그인 회전하는 타이틀 메뉴 플러그인 1 file 파란별빛 2015.10.26 843 0
251 RPGMV 플러그인 타이틀 커맨드에 '게임종료'를 추가해줍니다. file 파란별빛 2015.10.26 114044 0
250 RPGMV 플러그인 프리로드 매니저 (소재를 미리 불러서 게임진행을 빠르게) 파란별빛 2015.10.26 698 0
249 RPGMV 플러그인 맵타일 크기 변경 플러그인! 1 파란별빛 2015.10.26 1412 0
Board Pagination Prev 1 2 3 4 5 6 7 8 9 10 ... 15 Next
/ 15






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

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