Четверг, 23 Мая 2024, 12:19

Приветствую Вас Гость

[ Новые сообщения · Игроделы · Правила · Поиск ]
Форум игроделов » Записи участника » Sanches [210]
Результаты поиска
SanchesДата: Суббота, 22 Декабря 2012, 18:54 | Сообщение # 121 | Тема: генерация миров
участник
Сейчас нет на сайте
madsen, немного теории от меня здесь.
Вообще всё, что сделано из клеточек/блоков, советую делать на массивах.
SanchesДата: Пятница, 21 Декабря 2012, 17:36 | Сообщение # 122 | Тема: Решаем задачи по Construct Classic [вопрос-ответ]
участник
Сейчас нет на сайте
FDF94, чтобы при вычислении того, пересекаются ли какой-либо объект с твоим Канвасом, использовались только непрозрачные пиксели.
Чтобы напечатать только ромб, попробуй создать непрозрачный спрайт, в нём вырезать ластиком фигуру нужной формы (у тебя это ромб), добавить к этому спрайту эффект Erase и печатеть в Канвас после всех остальных объектов.
SanchesДата: Четверг, 20 Декабря 2012, 21:53 | Сообщение # 123 | Тема: Решаем задачи по Construct Classic [вопрос-ответ]
участник
Сейчас нет на сайте
Причём синеньких может быть сколько угодно, только каждый из них должен быть назван своим именем/номером.
SanchesДата: Четверг, 20 Декабря 2012, 16:12 | Сообщение # 124 | Тема: Урон при падении
участник
Сейчас нет на сайте
Эмм... Как он может не подойти?))
Попробуй самостоятельно сделать что-то вроде моего способа.
XeoDoz, для поведения Платформер есть условие Is On Ground - срабатывает, если объект на земле, то есть не падает и не прыгает.
Сделай описанное событие, и левой кнопкой мышки перетащи его по листу событий выше события, где задаёшь значение переменной.
SanchesДата: Четверг, 20 Декабря 2012, 16:08 | Сообщение # 125 | Тема: Шаг вперед - удар - шаг назад
участник
Сейчас нет на сайте
Ну, ты должен добавить в игру объект Mouse&Keyboard (мышь и клавиатура)
Условие - когда клавиша нажата (On Key Pressed) - выберешь нужную клавишу.
Действие - Твой главный герой - Set Animation - Имя анимации удара

Важно: в кадрах анимации ты должен смещать hotspot (красный прицел на панели инструментов) с каждым кадром, расстояние будет зависеть от того, насколько герой должен шагнуть вперёд.
SanchesДата: Среда, 19 Декабря 2012, 21:30 | Сообщение # 126 | Тема: Шаг вперед - удар - шаг назад
участник
Сейчас нет на сайте
Можно делать чисто анимацией. Только на каждом кадре смещать центр изображения (красный прицел) на несколько пикселей в нужную сторону.
Координата будет оставаться прежней, а изображение сместится.
В этом случае просто при нажатии на кнопку удара проигрывай нужную анимацию.
SanchesДата: Среда, 19 Декабря 2012, 18:47 | Сообщение # 127 | Тема: Урон при падении
участник
Сейчас нет на сайте
Если ты используешь поведение Platformer, то:
1.Добавь игроку приватную переменную
2.Всегда делай её равной Y-скорости игрока
3.Перед событием, где задаётся значение переменной (пункт 2) поставь проверку на Игрока - Is On Ground (события для поведения Platformer)
-Если переменная больше максимальной безвредной скорости падения - наноси урон.
SanchesДата: Среда, 19 Декабря 2012, 18:05 | Сообщение # 128 | Тема: Как сделать генерацию мира?
участник
Сейчас нет на сайте
DimOk, а если бы не лень, то ты бы сделал?))
grisha, одним скриптом тут не обойдёшься.
Немного теории.
Если тебе нужны сиды как в майне, и чтобы для каждого сида своя карта, и чтобы не повторялись карты с разными сидами и т.п., то тебе нужен свой генератор псевдослучайных чисел. Это алгоритм, который на основе сида в 5-10 цифр выдаст последовательность чисел нужной тебе длины, причём для каждого сида она уникальна. Попробуй погуглить линейный конгруэнтный метод генерации псевдослучайных чисел, если хоть немного просвещён в математических делах, то особых проблем не должно возникнуть, т.к. всё довольно просто. Если не осилишь, пиши сюда))
Далее тебе нужно определиться, по какому принципу ты будешь создавать мир. Ну, случайно создавать большие области, делить их (опять случайно) на под-области, в местах пересечения создавать ещё что-то или создавать виртуальную модель, например, движения виртуальных литосферных плит в разные стороны, вычислять между ними виртуальное давление и виртуальную температуру, там, где она высокая, ставишь блоки руды и т.п., виртуально охлаждаешь всё и накидываешь на поверхность семян растений и спор, из которых потом нарожаешь виртуальных животных...
Вообще DimOk прав, штука сложная, отчасти потому, что те, кто не сталкивался с этим раньше, не понимают, с какой стороны к этому подойти, как из чисел сделать деревья, травку и т.п.
Тут мне всегда очень пригождались массивы, в них очень удобно хранить кучу информации, вычислять пересечения и границы разных областей и ещё много чего. В случае генерации мира и при желании его сохранить, без массива тебе точно не обойтись. Ну, если особо не извращаться. Так что если не знаешь, как работать с этими массивами, учи в первую очередь их.
Если с массивами порядок, попробуй создать простенький генератор. Безо всяких сидов, простым рандомом (Random(X) будет ключевым выражением). Например, сначала задать высоту каждой клетки мира, потом выбрать уровень моря, все клетки, что ниже его - заполнить "водой" до уровня моря, те, что выше - сгладить, используя вычисление среднего арифметического между тремя (можно пятью и более) соседними клетками.
Далее проверяешь высоту клеток: если 1-2 над уровнем моря - посадить траву, если рядом есть вода - сделать песок, если в радиусе 10 клеток нет воды - низкая травка. Если высота равна 3-5 - делаешь холмы - можно дополнительно сгладить клетки ещё раз и "засадить" совсем мелкой травкой. Выше 5 - горы, накидываешь камня. Выше 9 - ещё и снега поверх всего накладываешь.

Это для примера, я сам делал много подобного, нужно сказать, сильно помогло.
Если совсем ничего не понял, пиши, на чём встрял сначала, постараюсь объяснить получше (вот что-что, а объяснять мне не дано))


Сообщение отредактировал Sanches - Среда, 19 Декабря 2012, 18:09
SanchesДата: Понедельник, 17 Декабря 2012, 21:03 | Сообщение # 129 | Тема: как организовать цикл
участник
Сейчас нет на сайте
Знаете о под-событиях?
Если да, то просто добавляете цикл под-событием к событию, срабатывающему один раз. Например, старт уровня или нажатие на кнопку.

Если не знаете, то клацните правой кнопкой по нужному событию, выберите Add Sub-event - появится окно создания события. Под-события выполняются только если выполняются все условия в событиях над ними и условие в самом под-событии.
SanchesДата: Воскресенье, 16 Декабря 2012, 10:42 | Сообщение # 130 | Тема: Как сделать скриншот игры в Construct?
участник
Сейчас нет на сайте
А чем кнопка PrintScreen не подходит?
SanchesДата: Суббота, 15 Декабря 2012, 17:31 | Сообщение # 131 | Тема: помощь по урокам
участник
Сейчас нет на сайте
Можно попробовать без физики каким-либо образом запоминать связанные объекты и при вращении одного крутить другой, учитывая разницу их диаметров. А верёвку просто сделать двумя спрайтами-линиями и двумя спрайтами-полуокружностями
SanchesДата: Суббота, 15 Декабря 2012, 17:28 | Сообщение # 132 | Тема: Как сделать рандомный выбор глобальной переменной?
участник
Сейчас нет на сайте
Сделай переменную CurrentValue, при старте давай ей случайное (Random(2)) значение.
Если переменная (CurrentValue) равна 0, то текст отображает Переменную1, если равна 1 - то Переменную2
SanchesДата: Суббота, 15 Декабря 2012, 17:26 | Сообщение # 133 | Тема: Проблема с курсором
участник
Сейчас нет на сайте
Извини, не работал с этим плагином, но в описании было сказано, что он умеет получать скорость мыши.
Тогда для вычислении позиции спрайта-курсора нужно использовать примерно такие формулы:
X: MouseX+MouseMove.SpeedX*Timedelta
Y: MouseY+MouseMove.SpeedY*Timedelta
Только я не знаю, как там получить скорость (это которая MouseMove.Speed), скачай плагин (вроде Mousemove он называется), а там разберёшься думаю.
SanchesДата: Среда, 12 Декабря 2012, 14:34 | Сообщение # 134 | Тема: Проблема с курсором
участник
Сейчас нет на сайте
Просто позиция мыши обновляется после того, как все события срабатывают. Можно использовать плагин MouseMove и прибавлять ещё и скорость мыши*Timedelta
SanchesДата: Среда, 12 Декабря 2012, 14:33 | Сообщение # 135 | Тема: Как сделать шнурок?
участник
Сейчас нет на сайте
Физика хоть и хорошая вешь, но всё-таки от неё можно отказаться)
Есть неведомый мне объект Ribbon, на оф форуме он упоминался как рабочий.
По-моему употребляется вместе со Спрайтами с параметром Displаcement
SanchesДата: Среда, 12 Декабря 2012, 14:26 | Сообщение # 136 | Тема: как вынести графические ресурсы из приложени?
участник
Сейчас нет на сайте
Складываешь все спрайты куда нужно, а при старте приложения загружаешь в спрайты (Sprite - Load Animation Frame From File), указывая путь к файлу.
SanchesДата: Пятница, 02 Ноября 2012, 21:08 | Сообщение # 137 | Тема: Rocket!!!
участник
Сейчас нет на сайте
Пожелания и замечания принимаются!
SanchesДата: Пятница, 25 Мая 2012, 20:21 | Сообщение # 138 | Тема: Multimedia Fusion. Сайты.
участник
Сейчас нет на сайте
черная_тень, платформер я уже сделал) Но всё-таки лучше, когда есть сайт с техподдержкой на родном языке.
SanchesДата: Пятница, 25 Мая 2012, 20:20 | Сообщение # 139 | Тема: Как реализовать раскачку?
участник
Сейчас нет на сайте
Спасибо, это было сляпано за 5 минут. Вообще можно сделать верёвку не растягивающейся больше опр. длины, и поправить траекторию движения по ней персонажа, но это уже со свежими отдохнувшими мозгами и желанием.
SanchesДата: Пятница, 25 Мая 2012, 19:18 | Сообщение # 140 | Тема: Multimedia Fusion. Сайты.
участник
Сейчас нет на сайте
Я не о том. В Скирре 1 FPS = обновление всех событий. Если под событием Always поставить действие "Создать объект", то в секунду будет создаваться количество объектов, равное FPS. Т.е. если в режиме вертикальной синхронизации у одного пользователя комп выжимает 120 FPS, а у другого только 60, то у первого объекты будут создаваться в два раза чаще.
Или, например, при условии создания объекта каждые 500 мс, объект создаётся по прошествии этих 500 мс, но только с началом нового тика.
Форум игроделов » Записи участника » Sanches [210]
Поиск:

Все права сохранены. GcUp.ru © 2008-2024 Рейтинг