FAQ:
cocos2d для iPhone: Уведомление об авторском праве & Разрешения Copyright Notice & PermissionsИщите мой cocos2d часто задаваемые вопросы iPhone & Обучающие программы
Пожалуйста, отметьте, что поиск блога в правом верхнем углу не ищет мои часто задаваемые вопросы и Обучающие программы.- Отметьте: пожалуйста, не разделяйте прямые ссылки для скачивания к файлам PDF, ссылки для скачивания истекают после пары минут!
Этот документ - (C) Copyright 2010 Штеффеном Иттераймом. Все права защищены.
Этот документ был создан исключительно для www.learn-cocos2d.com.
Вы НЕ можете загрузить и принять этот документ об общественном веб-сайте, форуме, или любом другом виде публично доступного склада файла. Вместо этого свяжитесь с моей Базой знаний или желаемой Подстраницей в: http://www.learn-cocos2d.com/knowledge-base http://www.learn-cocos2d.com/knowledge-base
Вы НЕ можете переиздать содержание этого документа полностью или частей для журналов печати, газет, и т.д. без моего предварительного письменного разрешения.
Вы поощрены разделить этот документ среди своих пэров, которым предоставляют, что доступ к документу остается бесплатным (исключая взносы пользователя за доступ в Интернет). Вам разрешают указать выдержки из этого документа о Вашем собственном сайте или в комментариях в соответствии с доктриной Правомерного использования.
Комментарии (0)
Связанные Вопросы
- Что преимущества к Cocos2d от других двигателей игры? - 3 недели назад
- Каков Cocos2d? - 3 недели назад










Просвещение почты. Спасибо!
И, конечно, у меня есть некоторые вопрос
- все относительно, но для общего кодекса лучше, чтобы использовать NSString, NSArray (и заплатить стоимость создания новых объектов) или изменчивые? Который может быть параметрами, чтобы выбрать между каждым?
- Я задаюсь вопросом, будет ли новый iPhone 4.0′s большая работа проблемой. Игры, которые управляют гладко в iPhone 1-ыми и 2-ыми устройствами поколения, будут, вероятно, бежать слишком быстро?
Привет Макс,
я сомневаюсь, что наборы данных NSMutable* - исполнительные убийцы. Я не сделал тестов, но я вполне уверен, что, если Вы не изменяете их вообще, они, вероятно, выступят столь же хороший как неизменчивые. Теперь, однажды Вы *do* должен изменить множества или последовательности, хорошо иметь их изменчивый так, чтобы материал заботился для Вас негласно. С другой стороны, если Вы знаете, что будете только создавать пункты однажды, но никогда переупорядочивать, удалять или добавлять, что другие тогда используют неизменчивые. Для меня это - вопрос случая использования, а не работы. Now, once you *do* need to change the arrays or strings it’s good to have them mutable so that stuff is taken care for you behind the scenes. On the other hand, if you know that you’ll only be creating the items once but never re-order, remove or add others then use the non-mutable ones. For me it’s a matter of use case rather than performance.
Игры не будут бежать быстрее на более новых устройствах. cocos2d’s CCDirector удостоверяется этого. Вы поправляетесь framerates, конечно, но не более быстрый геймплей. Это сохраняется для всех современных двигателей игры. You do get better framerates of course but not faster gameplay. That holds true for all modern game engines.
Привет gaminghorror. Спасибо за всю большую информацию о Вашем блоге
, Действительно находящем это полезный.
Я хотел спросить о Вашем кодексе фона параллакса выше – я использую это в испытательном проекте, но, может казаться, не заставляю черепицу соответствовать отлично рядом с eachother. Другими словами мой эльф, которого я крою черепицей (который является 480, 320 в размере) кроет черепицей, но когда новый эльф начинается, есть черный промежуток приблизительно 25 пикселов, широких между новым и старым. Там какой-либо путь - к elliminate этот промежуток? Я попытался искать cocos2d форумы и т.д., и нашел информацию о 2-ом проектировании, выключающем и т.д. …, но ничего подобного до сих пор не помогал мне … попытаться иллюстрировать то, что я получаю, это - то, что я становлюсь завивающимся через экран устройства (x’s эльф, белое пространство - черный промежуток, который я получаю): Is there any way to elliminate this gap? I have tried searching the cocos2d forums etc, and found info on 2D projection turning off etc… but none of that has helped me so far… To try and illustrate what I am getting, this is what I get scrolling across the device screen (x’s are the sprite white space is the black gap I get):
xxxxxxxxxxxxxxx | |xxxxxxxxxxxxxxxx | |xxxxxxxxxxxxxxxxxx | |xxxxxxx
Это, кажется, погашение размещения, действительно ли Вы уверены, что эльфы - точно 480 пикселов обособленно каждый? У обоих также должен быть тот же самый anchorPoint. И если Вы изменяете масштаб эльфов, погашение также должно быть приспособлено соответственно. And if you change the scale of the sprites, the offset also needs to be adjusted appropriately.
Вы могли бы хотеть проверить размещение с меньшими эльфами так, чтобы по крайней мере два из них соответствовали полностью на экране.
Привет GamingHorror, большое спасибо за ответ
Так этим утром я просыпался и имел ясный ум – думал об этом некоторое время, Мой эльф для фона точно 480×320 – то есть screensize. Промежуток, который я видел отчасти, осматривал 20-30 пикселов между каждым повторным эльфом. Таким образом, я думал, эй, в 480, мне только дают структуру, которая является 512 в праве размера? Так возможно его выполнение полного 512pixel структура. Таким образом, я вернулся к фотошопу, и увеличил свою ширину эльфа до 512 (как я, wouldnt теряют любую работу так или иначе), и дал этому попытку, используя Ваш кодекс: So I thought, hey, at 480, I am just being given a texture that is 512 in size right? So maybe its doing a full 512pixel texture. So I went back to photoshop, and increased my sprite width to 512 (as I wouldnt lose any performance anyway) and gave this a try, using your code:
CCSprite *background = [CCSprite spriteWithFile:@ "tile1.png"
rect:CGRectMake (0,0, 480*50, 320)];
[сам addChild:background];
[фон setPosition:ccp (winSize.width/2, winSize.height/2)];
ccTexParams params = {GL_LINEAR, GL_LINEAR, GL_REPEAT, GL_REPEAT};
[background.texture setTexParameters: ¶ms];
и это улаживало это! Больше промежутков. Большое спасибо за указатели также – я не думал о anchorPoints! Еще раз спасибо за большой блог. Я подписан! Thanks so much for the pointers too – I hadn’t thought about anchorPoints! Thanks again for the great blog. I am subscribed!
Ах да, если Вы используете GL_REPEAT тогда, размер изображения должен быть властью два. Eg 64×64 или 512×128
Удивительный – который убирает вещи для меня и имеет прекрасный смысл теперь. Спасибо за подтверждение. Мой слоистый завивающийся параллакс выглядит сладким теперь! My layered parallax scrolling is looking sweet now!
Так другой быстрый вопрос … я предполагаю, что не будет возможно использовать spritesheet с GL_REPEAT? Особенно путь Вы должны создать CGRect …
В настоящее время я делаю другую графику от spritesheets как это:
CCSprite *projectile = [CCSprite spriteWithSpriteFrameName:@ "missile.png"];
Которые загружены от моего.plist / spritesheet. Не возможный назначить фон GL_REPEAT как это?
Так как GL_REPEAT - параметр структуры, он относится к целой структуре, таким образом, Вы должны будете использовать единственную структуру изображения, и размер должен быть властью 2, eg 128×16 или 256×256.
Это также исключает использование spritesheet.
Используя эту технику это работает хорошо в тренажере, но на устройстве структура является суперглыбовой и pixellated. Я управляю этим тестом на cocos2d 0.99.5.
Ив попробовал и 256×256 и 512×512 структуры, и результат - то же самое. Тренажер повторяется отлично, отрезки устройства и pixellates структура ужасно.
У Вас есть какая-либо идея, почему это происходит?
Hmmm, не действительно. Я предполагаю, что это могло бы быть связано с показом Сетчатки, Вы проверяете на устройстве сетчатки?