歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
您现在的位置: Linux教程網 >> UnixLinux >  >> Linux編程 >> Linux編程

cocos2d中CCSprite的使用總結

一、精靈創建及初始化

1、從圖片文件創建:

  1. CCSprite *sprite = [CCSprite spriteWithFile:@"Icon.png"];  

2、從幀緩存創建:

  1. [[CCSpriteFrameCache sharedSpriteFrameCache] addSpriteFramesWithFile:@"MineSweeping.plist"];  
  2. CCSprite *sprite = [CCSprite spriteWithSpriteFrameName:@"Icon.png"];  

3、初始化及自定義大小

  1. CCSprite *sprite = [CCSprite spriteWithFile:@"Icon.png" rect:CGRectMake(x,y,w,h)];  

備注:默認錨點ccp(0.5,0.5),默認位置 ccp(0,0),contentSize為精靈圖片尺寸

二、精靈常用屬性及方法:

  1. [self addChild:sprite]; //添加入層中,self為CCLayer     
  2. sprite.scale=2;//放大2倍,參數為比例,1保持不變,0.5代表50%,2代表200%     
  3. sprite.rotation=90;//旋轉90度      
  4. sprite.opacity=255;//設置透明度為完全不透明(范圍0~255)   
  5. sprite.anchorPoint=ccp(0,0);//設置錨點為左下角,默認為ccp(0.5,0.5)中心點   
  6. sprite.position=ccp(100,100);//設置精靈左下角坐標是x=100,y=100,本地GL坐標系     
  7. [sprite setFlipX:YES];//X軸鏡像反轉      
  8. [sprite setFlipY:YES];//Y軸鏡像反轉    
  9. [sprite setVisible:NO];//設置隱藏,默認為可見    
  10. [sprite setColor:ccc3(255, 0, 0)];//設置顏色為紅色,三原色   
  11. [sprite zOrder]; //精靈層疊次序即Z軸(小的在下面,大的在上面),注意這是只讀屬性,不能通過sprite.zOrder=2實現Z軸重設     
  12. [sprite setTextureRect:CGRectMake(10, 10, 30, 30)];//起始點坐標(做上角坐標系),寬高    

三、添加其他精靈

CCSprite繼承自CCNode,所以你可以對它進行addChild的操作:

  1. CCSprite *s1 = [CCSprite spriteWithFile:@"Icon.png"];  
  2. CCSprite *s2 = [CCSprite spriteWithFile:@"Icon.png"];  
  3. [s1 addChild:s2];  

四、精靈Z軸重設

  1. [self reorderChild:sprite z:10];//self為CCLayer  

五、精靈換圖

1、直接利用新建貼圖進行更換

  1. //更換貼圖      
  2. CCTexture2D * texture =[[CCTextureCache sharedTextureCache] addImage: @"Default.png"];//新建貼圖      
  3. [sprite setTexture:texture];   

2、利用幀替換

  1. //加載幀緩存    
  2. [[CCSpriteFrameCache sharedSpriteFrameCache] addSpriteFramesWithFile:@"MineSweeping.plist"];      
  3. //從幀緩存中取出Default.png   
  4. CCSpriteFrame* frame2 = [[CCSpriteFrameCache sharedSpriteFrameCache] spriteFrameByName:@"Default.png"];     
  5. [sprite setDisplayFrame:frame2];  
Copyright © Linux教程網 All Rights Reserved