Skip to content

Instantly share code, notes, and snippets.

@pixelrevision
Created March 30, 2011 04:30
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save pixelrevision/893868 to your computer and use it in GitHub Desktop.
Save pixelrevision/893868 to your computer and use it in GitHub Desktop.
Quick and dirty frames per second meter for sparrow
SXFPSMeter *meter = [[SXFPSMeter alloc] initWithText:@""];
[self addChild:meter];
#import <Foundation/Foundation.h>
#import "Sparrow.h"
@interface SXFPSMeter : SPTextField{
}
- (void)update:(SPEnterFrameEvent*)event;
@end
#import "SXFPSMeter.h"
@implementation SXFPSMeter
- (id)initWithText:(NSString *)text{
self = [super initWithText:text];
self.hAlign = SPHAlignLeft;
self.vAlign = SPVAlignTop;
self.fontSize = 16;
self.color = 0xFF0000;
[self addEventListener:@selector(update:) atObject:self forType:SP_EVENT_TYPE_ENTER_FRAME];
self.touchable = NO;
return self;
}
- (void)update:(SPEnterFrameEvent*)event{
static int frameCount = 0;
static double totalTime = 0;
totalTime += event.passedTime;
if (++frameCount % 60 == 0){
self.text = [NSString stringWithFormat:@"FPS: %f", frameCount/totalTime];
frameCount = totalTime = 0;
}
}
- (void)dealloc{
[self removeEventListener:@selector(update:) atObject:self forType:SP_EVENT_TYPE_ENTER_FRAME];
[super dealloc];
}
@end
@kaala
Copy link

kaala commented May 4, 2012

missing a
self.touchable=NO;

@pixelrevision
Copy link
Author

@kaala seems like a reasonable enough thing to add so I popped it in.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment