Как мне оживить облака? - PullRequest
1 голос
/ 24 июля 2010

У меня есть 3 милых и пухлых облака, которые я сделал в Photoshop, все одинакового размера, теперь я хотел бы анимировать их, чтобы они выглядели так, как будто они движутся на заднем плане. Я хочу, чтобы эта анимация была базовым фоном во всех моих сценах (меню, настройки, оценка, игра).

Я использую cocos2d, я настроил меню и кнопки, чтобы работать, но как мне это сделать?

Я думал добавить это как слой, какие-нибудь другие предложения?

Может кто-нибудь показать мне, как какой-то код, как сделать это, пожалуйста?

Дэвид Х

Ответы [ 2 ]

0 голосов
/ 27 июля 2010

Самый простой способ оживить что-либо - это добавить спрайт в сцену, установить позицию и вызвать что-то вроде ...

[myClouds runAction:[CCMoveBy actionWithDuration:10 position:CGPointMake(200, 0)]];

Это позволит сдвинуть спрайт на 200 пикселей вправо в течение 10 секунд.Как предложил Срекел, вы можете поиграть с некоторыми функциями триггера, чтобы получить более естественное ощущение и траекторию движения, но вам придется планировать селектор и итеративно переставлять элементы.

Более сложная часть ваших вопросово получении анимации на фоне всех сцен.Имейте в виду, что при переключении сцен вы выгружаете одну иерархию узлов и загружаете новую.Фон не может быть разделен.Однако вы МОЖЕТЕ дублировать спрайты и анимацию во всех сценах, но при переходе между ними произойдет скачок.

0 голосов
/ 25 июля 2010

Простой способ сделать это с помощью синуса и косинуса.Имеют слегка отличающиеся параметры (период и амплитуду), чтобы гарантировать, что пользователь не поймет (так же легко), что они программно анимированы.

Вы также можете поиграть с анимацией значения непрозрачности.Я не уверен, есть ли в них слои, иначе вам придется добавить облака для разделения узлов или изображений и применить их к ним.

Трудно быть более конкретным, не зная, как выглядят изображения.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...