转自 http://blog.csdn.net/sjzsp/article/details/6947591
方法一:
-(void) viewDidLoad{
[self performSelectorInBackground:@selector(call1) withObject:nil];
}
-(void) call1{
timer1 = [NSTimer scheduledTimerWithTimeInterval:3.0 target:self selector:@selector(doSomething) userInfo:nil repeats:NO];
[[NSRunLoop currentRunLoop] addTimer:timer1 forMode:NSRunLoopCommonModes];
}
-(void) call2{
// do something
timer1 invalidate];
timer1 = nil;
}
方法二:
- (void)viewDidAppear:(BOOL)animated { NSThread* timerThread = [[NSThread alloc] initWithTarget:self selector:@selector(timerStart) object:nil]; [timerThread start]; } -(void)timerStart { NSAutoreleasePool *pool = [[NSAutoreleasePool alloc] init]; NSRunLoop* runLoop = [NSRunLoop currentRunLoop]; timer = [[NSTimer scheduledTimerWithTimeInterval:1.0 target:self selector:@selector(method) userInfo:nil repeats:YES] retain];//一定要retain,不然timerStart执行完后,NSTimer就被释放了。 [runLoop run]; [pool release]; } - (void)viewDidDisappear:(BOOL)animated { [super viewDidDisappear:animated]; [timer invalidate]; }
方法三:
timer = [NSTimer timerWithTimeInterval:5.0 target:self selector:@selector(SendHeartBeat) userInfo:nil repeats:YES];
[[NSRunLoop mainRunLoop] addTimer:heartTimer forMode:NSDefaultRunLoopMode];
Hiero是一个很小的java程序,它有一些bug和一些奇怪的地方。这篇日志会讨论这些问题。在使用Hiero的过程中遇到的一般问题,这里都可以找到答案。如果没有,请留言,可以交流一下。
1,Hiero会给电脑带来安全问题吗
可能因为Hiero很小,很多用户使用它之前都会有些担心,会不会给电脑带来安全问题。放心,肯定不会。
2,双击hiero.jnlp,程序不启动。
如果出现这个问题,很可能是因为文件关联的问题。选择图标->[Get Info]。在Open with一项,确定是Java Web Start.app。
如果Java Web Start.app不可用,程序还是打不开的话。那我建议要更新一下Java了。
3,生成的Bitmap Font PNG文件是倒的。
我也不知道是为什么。只能手动去改图了。用PS垂直翻转一下就可以了。很简单。
4,生成的Bitmap Font PNG图片有多余的像素。
如果生成的图片像下图一样,可以将padding设成大于0的数,可以解决。
5,不能覆盖文件、生成文件没有扩展名
Hiero有个bug。当要覆盖一个已经存在的文件时,如图。正常情况下,点击已经存在的文件,点Save后就会履盖选择的文件。Hiero不是这样的,它会生成一个没有扩展名的文件。要覆盖的话,得手动加上扩展名。
6,字体在Rendering视图中没有显示。
需要在Effects中加Color Effect。如下图。
有时候加上Color Effect后也不显示。这是因为bug的原因。重启一下Hiero试试。
7,双击.hiero文件不能打开Hiero
正常。没办法。
另外:
最近在了解并使用Cocos2d的一些功能以便在iPhone上画一个页面。然而,在使用其中一个CCBitmapFontAtlas类的时候发现了一些问题。
该类可以按照一定的字体风格显示字符。使用该类本身并没有什么困难和问题。然而该类所需的字体文件是需要一个.fnt文件和.png文件。当调用该类生成文字时,它会去访问.fnt文件,然后通过.fnt文件里该文字对应的坐标,到.png文件里去寻找相对应的区域,最后将该区域的图片显示到iPhone的界面上。而.fnt文件和.png文件要用Hiero软件生成。问题就在这里产生了。
第一个问题是一定要从http://www.n4te.com/hiero/hiero.jnlp和http://slick.cokeandcode.com/demos/hiero.jnlp这两个链接去下载。我之前从其它的链接下载了一个Hiero v2.0版,但是使用的时候发现它生成的.png文件里面的内容竟然是反的,在把该文件倒转、保存后,iPhone上显示的界面都正常,因此可以确定是我下载的Hiero软件在生成.png文件的时候有Bug。然后到Cocos2d主页上重新找过,在http://www.cocos2d-iphone.org/wiki/doku.php/prog_guide:labels页面上找到上述两个链接。重新下载后生成的.png文件就正常了。
第二个问题是使用Hiero软件生成.fnt文件和.png文件的时候一定要注意,如果先生成了一对字体文件,保存名字为font_sample.fnt和font_sample.png,然后没有关掉软件,再生成下一对字体文件,无论是覆盖之前的两个文件还是重新生成两个文件如font_sample2.fnt和font_sample.png,你都会发现新的一对字体文件里.fnt文件是更新了,但是.png文件并没有更新,里面的文字还是第一次生成的那个字体。使用这样的一对文件去生成iPhone的界面,只能显示出来一堆不知所谓的线条。然而,如果再生成好第一份字体文件之后,关闭软件,再重新打开,生成第二份字体文件的话,就不会出现该问题,估计可能是Hiero程序在创建新字体的时候没有清掉Cache之类的问题。虽然这样每生成一次字体都要重启一次软件,带来不少麻烦,但好在该软件的使用频率不高,因此还可以忍受。
- Introduction