Автоматическая генерация спрайтов
| |
2DMaster | Дата: Суббота, 11 Июня 2016, 14:43 | Сообщение # 1 |
был не раз
Сейчас нет на сайте
| Здравствуйте! Есть небольшой вопрос. Имеется спрайт А и спрайт Б. Спрайт А падает вниз по уровню, если задевает спрайт Б, то перемещается выше, а спрайт Б уничтожается и рядом рандомно создаётся такой же. Как это реализовать? Моя попытка. Есть уровень, два спрайта, при задевании Спрайта Б спрайтом А, спрайт А поднимается выше, спрайт Б уничтожается, создаётся ещё один спрайт Б(рандомно, через create object), но при задевании этого нового спрайта Б он не уничтожается и не появляется новый. Спрайт А благополучно при этом перемещается выше. Как ещё можно реализовать рандомное появление спрайтов Б. Спасибо.
Добавлено модератором --------------------------------------------- Раз это твоё первое сообщение, ознакомься с правилами раздела, пожалуйста. Надо добавить в шапку версию конструктора. --- Nick_Rimer
Сообщение отредактировал 2DMaster - Суббота, 11 Июня 2016, 15:00 |
|
| |
Nick_Rimer | Дата: Суббота, 11 Июня 2016, 14:51 | Сообщение # 2 |
заслуженный участник
Сейчас нет на сайте
| Учитывая, что рандомными могут быть только числа, то получается, что никак. Ты получаешь рандомные координаты (ака "числа") и в них создаёшь объект. Вроде всё верно делаешь. Если с первым всё получается, а со вторым нет, то без конкретики с твоей стороны (пример куска кода, например) остаётся добавить - проверь события. Новый объект должен вести себя так же, как и первый его прототип. Возможно, где-то возникает конфликт. Ну и почитай мои пожелания в твоём посте.
- Доброе утро, Агент Пи!
|
|
| |
2DMaster | Дата: Суббота, 11 Июня 2016, 15:06 | Сообщение # 3 |
был не раз
Сейчас нет на сайте
| Всего два события. Первое просто проверяет упал ли спрайт и если да, то конец игры. Второе - проверка на касание. Коснулись - А переместился выше, Б уничтожился на его месте в случайных координатах(в небольшом интервале) создаётся такой же. Но, как говорилось выше, не работает(
P.S. Тему подредактировал, правила прочитал.
Добавлено модератором --------------------------------------------- А картинки оформляются как-то так. Ну это для справки --- Nick_Rimer
|
|
| |
Nick_Rimer | Дата: Суббота, 11 Июня 2016, 15:11 | Сообщение # 4 |
заслуженный участник
Сейчас нет на сайте
| Я сейчас вдалеке то компа с СС, к сожалению, не могу поставить опыт.. может кто-то ещё в теме подскажет. Но так вроде расхождений не вижу. В какой момент не срабатывает? Если платформа создалась и сразу пересекла спрайт А? А если платформа создалась нормально, спрайт А отпрыгнет от неё?
- Доброе утро, Агент Пи!
|
|
| |
2DMaster | Дата: Суббота, 11 Июня 2016, 15:37 | Сообщение # 5 |
был не раз
Сейчас нет на сайте
| Есть первая платформа, уже созданная. Запускаю - спрайт А задевает её - платформа исчезает, спрайт А переносится выше - создаётся ещё одна платформа - спрайт А падает, задевает её - спрайт А переносится выше - снова падает, но платформа на том же месте. Можно задеть ещё раз, отправиться выше, но ни ниже, ни рядом ещё одна платформа не создается. То есть создаётся эффект, что от новой платвормы спрайт просто быстро отскакивает, а должен создаваться эффект, что он хватает эту платформу и она исчезает. Если самому наставить спрайтов Б, то эффект такой будет. Но! 1) Нужно случайное появления. 2) Констракт не потянет очень большой уровень. Не знаю, что делать(
|
|
| |
Nick_Rimer | Дата: Суббота, 11 Июня 2016, 15:46 | Сообщение # 6 |
заслуженный участник
Сейчас нет на сайте
| Касательно рандомной генерации, кстати, можно сделать, чтобы платформы вылетали снизу. Тогда просто рандомно генерируешь Х, а Y какой-то постоянный за пределами внизу экрана. Так же рандомно генерятся временные промежутки между появлением платформ. Платформы летят вверх, создаётся эффект падения персонажа вниз. Дудл джамп сделан так же, только наоборот :) Почему спрайт не уничтожается, понять что-то не могу.. давно не занимался этим, опыт подрастерял, может чего-то упускаю.
- Доброе утро, Агент Пи!
|
|
| |
2DMaster | Дата: Суббота, 11 Июня 2016, 15:50 | Сообщение # 7 |
был не раз
Сейчас нет на сайте
| Не догоняю, если Х сделать рандомно, а У за предеелами внизу экрана, то как он появится, если всегда будет внизу? И я не могу понять... Может объект Спрайт это не есть Спрайт?
|
|
| |
Nick_Rimer | Дата: Суббота, 11 Июня 2016, 15:54 | Сообщение # 8 |
заслуженный участник
Сейчас нет на сайте
| Я просто предложил сделать вылетающие снизу платформы. Добавь им движение вверх (хотя бы поведением Bullet). И сталкивайся с ними, а при столкновении - уничтожай. Это просто предложение по рандомной генерации. Создать объект с координатами (х = 50; у = 800) можно, хоть его и не будет видно. 800 - это число, большее разрешения экрана по у (например, в случае экрана 1024х768). Спрайт - это спрайт
- Доброе утро, Агент Пи!
|
|
| |
2DMaster | Дата: Суббота, 11 Июня 2016, 16:04 | Сообщение # 9 |
был не раз
Сейчас нет на сайте
| Это должно выглядеть так? У спрайта поведение пули. Я к тому, что может на созданные объекты не действуют условия?
|
|
| |
Nick_Rimer | Дата: Суббота, 11 Июня 2016, 16:07 | Сообщение # 10 |
заслуженный участник
Сейчас нет на сайте
| Если ты об этом, то за пределами экрана можно и постоянный Y сделать. Create object at (random(50,350), 700)
- Доброе утро, Агент Пи!
|
|
| |
2DMaster | Дата: Суббота, 11 Июня 2016, 17:37 | Сообщение # 11 |
был не раз
Сейчас нет на сайте
| Какой-то трешак получается. Они все по иксу в одной точке. А по игреку начинают сливаться в один большой столб)
Добавлено (11 июня 2016, 16:18) --------------------------------------------- В общем, идея. В самом внизу под картой пускаю спрайт, который метиться туда сюда и каждые, допустим, 3 сек выдаёт спрайт Б. Новый спрайт поставил, поставил таймер, но видимо н так, потому что он спаунит их мгновенно и опять получается столб(
Теперь один единственный вопрос. Как сделать, чтобы появляющиеся спрайты Б летели вверх, а не по сторонам?
Сообщение отредактировал 2DMaster - Суббота, 11 Июня 2016, 17:39 |
|
| |
Gnomov | Дата: Воскресенье, 12 Июня 2016, 14:46 | Сообщение # 12 |
Пустота – основа всего...
Сейчас нет на сайте
| Кстати, натолкнули на идею полной генерации спрайтов персонажей... Этого ещё не было в играх.
|
|
| |
2DMaster | Дата: Воскресенье, 12 Июня 2016, 17:48 | Сообщение # 13 |
был не раз
Сейчас нет на сайте
| Именно в CC или вообще?
|
|
| |
Nick_Rimer | Дата: Воскресенье, 12 Июня 2016, 18:26 | Сообщение # 14 |
заслуженный участник
Сейчас нет на сайте
| Цитата 2DMaster ( ) Как сделать, чтобы появляющиеся спрайты Б летели вверх, а не по сторонам? А какой плагин поведения или какой другой метод ты для этого используешь? Bullet? Тогда он летит по ориентации угла (Angle), если память мне не изменяет..
- Доброе утро, Агент Пи!
|
|
| |
2DMaster | Дата: Воскресенье, 12 Июня 2016, 19:38 | Сообщение # 15 |
был не раз
Сейчас нет на сайте
| По ориентации угла самого объекта? Как ни менял, он летит только в стороны
|
|
| |
|