как вы делаете оператор if, который группирует все операторы в один оператор if на момент, когда у меня есть 20 или что-то, если утверждения, которые не очень эффективны, поэтому i было интересно, есть ли способ сгруппировать спрайты, чтобы, если какой-либо из моих спрайтов ушел с верхней части экрана, они снова появятся внизу и наоборот.оператор if, который группирует все операторы в один оператор if
В данный момент у меня есть это; yellow1,2,3 ... быть спрайта
if (yellow1.position.y-33>=320) {
yellow1.position = ccp(yellow1.position.x,33);
}
if (yellow1.position.y+33<=0) {
yellow1.position = ccp(yellow1.position.x,287);
}
if (yellow2.position.y-33>=320) {
yellow2.position = ccp(yellow2.position.x,33);
}
if (yellow2.position.y+33<=0) {
yellow2.position = ccp(yellow2.position.x,287);
}
if (yellow3.position.y-33>=320) {
yellow3.position = ccp(yellow3.position.x,33);
}
if (yellow3.position.y+33<=0) {
yellow3.position = ccp(yellow3.position.x,287);
}
if (yellow4.position.y-33>=320) {
yellow4.position = ccp(yellow4.position.x,33);
}
if (yellow4.position.y+33<=0) {
yellow4.position = ccp(yellow4.position.x,287);
}
if (yellow5.position.y-33>=320) {
yellow5.position = ccp(yellow5.position.x,33);
}
if (yellow5.position.y+33<=0) {
yellow5.position = ccp(yellow5.position.x,287);
}
if (yellow6.position.y-33>=320) {
yellow6.position = ccp(yellow6.position.x,33);
}
if (yellow6.position.y+33<=0) {
yellow6.position = ccp(yellow6.position.x,287);
}
if (yellow7.position.y-33>=320) {
yellow7.position = ccp(yellow7.position.x,33);
}
if (yellow7.position.y+33<=0) {
yellow7.position = ccp(yellow7.position.x,287);
}
if (yellow8.position.y-33>=320) {
yellow8.position = ccp(yellow8.position.x,33);
}
if (yellow8.position.y+33<=0) {
yellow8.position = ccp(yellow8.position.x,287);
}
здесь мой цикл до сих пор:
for (int i=0;i<16 ; i++) {
if (((CCSprite *)[c1array objectAtIndex:i]).position.y-((CCSprite *)[c1array objectAtIndex:i]).contentSize.height>320) {
((CCSprite *)[c1array objectAtIndex:i]).position = ccp(((CCSprite *)[c1array objectAtIndex:i]).position.x,37);
}
if (((CCSprite *)[c1array objectAtIndex:i]).position.y+((CCSprite *)[c1array objectAtIndex:i]).contentSize.height<0) {
((CCSprite *)[c1array objectAtIndex:i]).position = ccp(((CCSprite *)[c1array objectAtIndex:i]).position.x,253);
}
}
эй чувак могли бы вы помочь мне с iphone способа кодирования в приведенном выше примере, что jdmichal отвечал я уже поставил позже цикл в cctouchmoved я просто не уверен, где поставить «создание списка». Делается ли это в файле заголовка или в главном файле с супер-if. Спасибо – Dangermouse
Я получаю сообщение об ошибке со спрайтом и спрайтами и как код знает, какие спрайты считать, создание списка бит, где я пишу имена спрайтов – Dangermouse
Каковы ошибки, которые вы получаете? Вы не можете использовать Sprite в качестве типа данных. Как сказал jdmichal, это просто псевдокод. Скорее всего, CCSprite, если вы используете последние версии cocos2d. Вы также захотите посмотреть класс CCArray, который должен работать более эффективно, чем NSArray. Вы знаете, как выделить NSArray или CCArray? Я не хочу быть грубым, основываясь только на ваших формулировках. Кажется, вы этого не сделали. –