2 garaster garaster 于 2012.11.12 16:55 提问

创建多个相同的CCSprites

有么有方法能快速的创建任意数量的相同CCSprites?

就为了后来删除,然后只需要一个标签引用他们

i.e.在游戏里面:

- (void)displayOneLife
{
    CGPoint positionOne = ccp(90, 450);

    CCSprite *life1 = [CCSprite spriteWithFile:@"life.png"];
    [life1 setPosition:positionOne];
    [life1 setScale:0.5f];
    [self addChild:life1 z:5 tag:1];
}

- (void)displayTwoLives
{
    CGPoint positionOne = ccp(90, 450);
    CGPoint positionTwo = ccp(105, 450);

    CCSprite *life1 = [CCSprite spriteWithFile:@"life.png"];
    CCSprite *life2 = [CCSprite spriteWithFile:@"life.png"];

    [life1 setScale:0.5f];
    [life2 setScale:0.5f];

    [life1 setPosition:positionOne];
    [life2 setPosition:positionTwo];

    [self addChild:life1 z:5 tag:1];
    [self addChild:life2 z:5 tag:2];
}

- (void)displayThreeLives
{
    CGPoint positionOne = ccp(90, 450);
    CGPoint positionTwo = ccp(105, 450);
    CGPoint positionThree = ccp(120, 450);

    CCSprite *life1 = [CCSprite spriteWithFile:@"life.png"];
    CCSprite *life2 = [CCSprite spriteWithFile:@"life.png"];
    CCSprite *life3 = [CCSprite spriteWithFile:@"life.png"];

    [life1 setPosition:positionOne];
    [life2 setPosition:positionTwo];
    [life3 setPosition:positionThree];

    [life1 setScale:0.5f];
    [life2 setScale:0.5f];
    [life3 setScale:0.5f];

    [self addChild:life1 z:5 tag:1];
    [self addChild:life2 z:5 tag:2];
    [self addChild:life3 z:5 tag:3];
}

1个回答

prettYYoyic
prettYYoyic   2012.11.12 17:33

创建CCTexture2D,然后初始化全部sprite。
通过编程实现:

- (void)displayLifes:(int) nrOfLifes
{
    CGPoint position = ccp(90, 450);
    CCTexture2D *texture = [[[CCTexture2D alloc] initWithImage:[UIImage imageNamed:@"life.png"]]autorelease];

    for(int i = 1 ; i <= nrOfLifes ; i++)
    {
         CCSprite *life = [CCSprite spriteWithTexture:texture];
         [life setPosition:position];
         [life setScale:0.5f];
         [self addChild:life z:5 tag:i];

         position.x += 15;
    }
}
Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!
其他相关推荐
CCSpriteBatchNode的特点和使用方法
CCSpriteBatchNode是一个批处理绘制精灵节点,其特点是共享同一个纹理,CCSpriteBatchNode最大的优点就是将所有同属性的纹理进行一次绘制,CCSpriteBatchNode并不能添加CCLabel之类(继承自CCNode的节点),仅处理共享纹理的精灵。另外一点特别要注意的是CCSpriteBatchNode通过addSpriteWithoutQuad增加子节点的方式跟其他
MYSQL创建多张表,相同表结构,不…
#!/bin/bash for i in {0..63} do mysql -u$1 -p$2 -h127.0.0.1         use yoon; create table ivc_pre_detail_$i (    id                   bigint not null,    refId                bigint,    detailType  
Win32多窗口程序的创建
本例演示如何在Win32应用程序中创建多个窗口 // Win32LevelRail1.5.cpp : Defines the entry point for the application. // #include "stdafx.h" #include "Win32LevelRail1.5.h" #define MAX_LOADSTRING 100 // Global Variables
mysql如何快速创建相同结构的表
【1】. 快速创建相同结构的表,包括索引: mysql> SHOW CREATE TABLE a; CREATE TABLE `a` ( `name` varchar(50) default NULL, KEY `name` (`name`) ) ENGINE=MyISAM DEFAULT CHARSET=latin1; mysql> CREATE TABLE b LIKE a;
php 创建相同元素一维数组与创建递增元素一维数组函数
引用 : http://www.w3school.com.cn/php/func_array_compact.asp http://www.w3school.com.cn/php/func_array_combine.asp http://php.net/manual/zh/function.range.php http://php.net/array_fill 1. php
多分库多分表(结构相同)脚本创建联合视图
--今天有需要写了一个 --测试测下: CREATE DATABASE [db1] CREATE DATABASE [db2] USE [db1] CREATE TABLE [dbo].[table1]([id] [int],[name] [varchar](20)) CREATE TABLE [dbo].[table2]([id] [int],[name] [varchar](20)
spring容器中有多个相同的bean的时候
spring容器中有多个相同的bean的时候: 有个repository接口有多个实现类,UserRepository userRepositoyrImpl;UserRepository userRepositoyrjdbc但是在主方法中使用了: 接口的类型声明了依赖的属性 UserRepository userRepository; 默认的情况下容器会去找setUserPepository
使用Autowired和Qualifier解决多个相同类型的bean如何共存的问题
@Autowired是根据类型进行自动装配的。如果当spring上下文中存在不止一个A类型的bean时,就会抛出BeanCreationException异常;如果Spring上下文中不存在A类型的bean,而且我们又使用A类型,也会抛出BeanCreationException异常。 针对存在多个A类型的Bean,我们可以联合使用@Qualifier和@Autowired来解决这些问题。 英...
django创建多个相同结构的表方法
django 动态查询表结构相同表名不同数据的Model实现class TemplateModel(models.Model): id = models.AutoField(primary_key=True) name = models.CharField(max_length=50) class Meta: abstract = True class...
spring学习(官网)——解决spring有多个匹配bean产生的冲突
1:使用@Primary注解微调: 通过类型自动匹配可能会导致多个候选对象,在选择过程中有更多限制是必须的,一种方式是使用spring 的@Primary注解实现,当一个单值的依赖有多个候选的bean时,@Primary注解指示给予一个优先的bean。如果在所有候选的bean中只有一个是primary的,这个bean将会被匹配。 @Configuration public class Movi