cocos2d常用功能

love_hot_girl發表於2020-04-07
//----------------音樂相關
//載入音樂
+(void)loadBgMusic{
    //    [[SimpleAudioEngine sharedEngine] preloadBackgroundMusic:@"himi.caf"];
}
//播放背景音樂
+(void)playBgMusic:(NSString*)fileName{
    [[SimpleAudioEngine sharedEngine] playBackgroundMusic:fileName];
}
//暫停背景音樂
+(void)pauseBgMusic{
    [[SimpleAudioEngine sharedEngine] pauseBackgroundMusic];
}
//繼續播放背景音樂
+(void)resumeBgMusic{
    [[SimpleAudioEngine sharedEngine] resumeBackgroundMusic];
}
//停止背景音樂
+(void)stopBgMusic{
    [[SimpleAudioEngine sharedEngine] stopBackgroundMusic];
}
//----------------音效相關
//提前載入音效
+(void)loadEffectMusic{
    //  [[SimpleAudioEngine sharedEngine] preloadEffect:@"himi.caf"];
}
//播放背景音效
+(void)playEffectMusic{
    //  [[SimpleAudioEngine sharedEngine] playEffect:@"himi.caf"];
}



貝塞爾
CCBezierTo

回撥
CCCallFuncTo

圖片打包Texture Pack, 
Sprite Sheet: zwoptex

視窗尺寸
CGSize size = [[CCDirector sharedDirector] winSize];

TTFLabel
CCLabelTTF *label = [CCLabelTTF labelWithString:@"XXXX"fontName:@"Marker Felt"fontSize:64];

粒子工具ParticleDesigner

粒子播放
CCParticleSystem *tempSystem = [ARCH_OPTIMAL_PARTICLE_SYSTEM particleWithFil


//新增一個粒子特效
CCParticleSystem *tempSystem = [ARCH_OPTIMAL_PARTICLE_SYSTEM particleWithFile:@"himi.plist"];
//tempSystem.positionType=kCCPositionTypeRelative;//備註1
tempSystem.positionType=kCCPositionTypeFree;
tempSystem.position=ccp(100,100);
[self addChild:tempSystem];


進度條

2
3
CCProgressTimer *ct=[CCProgressTimer progressWithFile:@"icon.png"];
       ct.position=ccp( size.width /2 , size.height/2);
       [self addChild:ct z:0 tag:90];


1
2
ct.percentage = 0; //當前進度
ct.type=kCCProgressTimerTypeHorizontalBarLR;//進度條的顯示樣式


1
2
3
4
5
6
kCCProgressTimerTypeRadialCCW,         扇形逆時針形式
kCCProgressTimerTypeRadialCW,          扇形順時針形式
kCCProgressTimerTypeHorizontalBarLR,   從左往右增張的形式
kCCProgressTimerTypeHorizontalBarRL,   從右往左增張的形式
kCCProgressTimerTypeVerticalBarBT,     從下往上增張的形式
kCCProgressTimerTypeVerticalBarTB,     從上往下增張的形式


本地化通知
- (void) applicationDidFinishLaunching:(UIApplication*)application
{
    ...
    application.applicationIconBadgeNumber = 0;//應用程式右上角的數字=0(消失)
    [[UIApplication sharedApplication] cancelAllLocalNotifications];//取消所有的通知
    //------通知;
    UILocalNotification *notification=[[UILocalNotification alloc] init];
    if(notification!=nil) {//判斷系統是否支援本地通知
        notification.fireDate=[NSDate dateWithTimeIntervalSinceNow:kCFCalendarUnitDay];//本次開啟立即執行的週期
        notification.repeatInterval=kCFCalendarUnitDay;//迴圈通知的週期
        notification.timeZone=[NSTimeZone defaultTimeZone];
        notification.alertBody=@"哇,我的女神,你怎了?";//彈出的提示資訊
        notification.applicationIconBadgeNumber=1;//應用程式的右上角小數字
        notification.soundName= UILocalNotificationDefaultSoundName;//本地化通知的聲音
        notification.alertAction = NSLocalizedString(@"營救女神!", nil);  //彈出的提示框按鈕
        [[UIApplication sharedApplication]   scheduleLocalNotification:notification];
    }
 ...
}



圖片拼接黑邊

如果解決拼接裂縫問題利用下面這行程式碼還是不給力的話 :

1
[sprite.texture setAliasTexParameters];

那麼請繼續利用下面這行程式碼:(放在AppDelegate.m  的 applicationDidFinishLaunching方法中最後即可)

1
[[CCDirector sharedDirector] setProjection:kCCDirectorProjection2D];

如果還是不行 ,那麼檢查你TP打包工具進行打包的時候,是不是忘記將幀與幀之間忘記空出1-2畫素了!!!因為幀與幀之間離得特別近的話,那麼渲染時正好將旁邊那幀的圖繪製出來了!!!!!!


可視區域
//---建立時設定30寬30高的可視區域
CCSprite * spriteNew =[CCSprite spriteWithFile:@"icon.png"rect:CGRectMake(0, 0, 30,30)];
spriteNew.position=ccp(150,100);
[self addChild:spriteNew];
//---建立後對其設定30寬30高的可視區域
CCSprite * spriteT =[CCSprite spriteWithFile:@"icon.png"];
[spriteT setTextureRect:CGRectMake(10, 10, 30, 30)];
spriteT.position=ccp(230,100);
[self addChild:spriteT];


錨點
spriteNew.anchorPoint=ccp(0,0);


[self reorderChild:sprite z:10];

相關文章