Пятница, 26 Апреля 2024, 16:01

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

[ Новые сообщения · Игроделы · Правила · Поиск ]
  • Страница 2 из 6
  • «
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • »
Форум игроделов » Записи участника » nekroo98 [120]
Результаты поиска
nekroo98Дата: Четверг, 26 Января 2017, 15:26 | Сообщение # 21 | Тема: интерфейс игры
почетный гость
Сейчас нет на сайте
интерфейс отрисовывается за пределами карты и создается отдельный вид на этот интерфейс.
первый вид следит за игроком, второй за интерфейсом. как это сделать разберешься надеюсь :)

nekroo98Дата: Четверг, 26 Января 2017, 15:08 | Сообщение # 22 | Тема: Выстрел танка в разные стороны. Как сделать!?
почетный гость
Сейчас нет на сайте
в событии "кнопка A отппущена" пишешь код типа такого:
Код
if reload=0 //если не идет перезарядка
{
new_bullet=instance_create(x,y,pula); //создаем пулю. если не прописывать "new_bullet=" то всем существующим обьектам "pula"
//будут присваиваться скорость и направление каждый раз при нажатии клавиши. т.е. выстрелил вверх, пуля летит вверх, затем
//выстрелил влево и ОБЕ пули полетели влево. вот чтоб небыло такой херни
new_bullet.speed=10; //скорость движения пули
new_bullet.direction=180; //направление движения пули 0-право, 90-вверх, 180-влево, 270-вниз. измеряется, очевидно, в градусах
reload=1; alarm[0]=30; //запуск таймера перезарядки (1 секунда при скорости комнаты=30)
}


в событии "кнопка W отпущена" пишешь типа такого:
Код
if reload=0 //если не идет перезарядка
{
new_bullet=instance_create(x,y,pula); //создаем пулю. если не прописывать "new_bullet=" то всем существующим обьектам "pula"
//будут присваиваться скорость и направление каждый раз при нажатии клавиши. т.е. выстрелил вверх, пуля летит вверх, затем
//выстрелил влево и ОБЕ пули полетели влево. вот чтоб небыло такой херни
new_bullet.speed=10; //скорость движения пули
new_bullet.direction=90; //направление движения пули 0-право, 90-вверх, 180-влево, 270-вниз. измеряется, очевидно, в градусах
reload=1; alarm[0]=30; //запуск таймера перезарядки (1 секунда при скорости комнаты=30)
}

в alarm[0] пишешь код
Код
reload=0

в самом обьекте пули в событии draw прописываешь отрисовку спрайта в зависимости от направления движения, типа того
Код
draw_sprite_ext(sprite0,1,x,y,1,1,direction,c_white,1)

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

а вообще кури учебник, там довольно просто все описано, удачи :)


Сообщение отредактировал nekroo98 - Четверг, 26 Января 2017, 16:20
nekroo98Дата: Вторник, 09 Августа 2016, 15:00 | Сообщение # 23 | Тема: Вопрос по обьекту, его спрайту и маске.
почетный гость
Сейчас нет на сайте
Цитата FireF1y ()
image_angle

от дурак старый, совсем забыл про него :)
Спасибо.
nekroo98Дата: Вторник, 09 Августа 2016, 14:39 | Сообщение # 24 | Тема: Вопрос по обьекту, его спрайту и маске.
почетный гость
Сейчас нет на сайте
Вот есть у нас такая картинка из игры, где кратко описана суть.

Создается объект-молния. В настройках объекта задается соответствующий спрайт и маска <same as sprite>
В событии Draw код:
Код
{draw_sprite_ext(spritename,-1,sozdatel.x,sozdatel.y,0.6,1,point_direction(sozdatel.x,sozdatel.y,target.x,target.y)+90,c_white,1);

чтобы спрайт рисовался от начальной цели к конечной.
Но проблема в том, что маска то остается на старом месте, и соответственно коллизии не происходит.
Можно ли заставить маску следовать за рисуемым спрайтом в событии Draw?
Или может есть какой-то иной способ решения проблемы?
Благодарю за внимание.


Сообщение отредактировал nekroo98 - Вторник, 09 Августа 2016, 14:39
nekroo98Дата: Четверг, 26 Марта 2015, 13:01 | Сообщение # 25 | Тема: Создание двух одинаковых обьектов одновременно
почетный гость
Сейчас нет на сайте
Даладнаааааа, наконецто все правильно как задумано.

А можно по подробнее? NewDamDraw это просто переменная, где хранится ид созданного обьекта или типо того?
nekroo98Дата: Четверг, 26 Марта 2015, 12:20 | Сообщение # 26 | Тема: Создание двух одинаковых обьектов одновременно
почетный гость
Сейчас нет на сайте
Ок, обьясняю.
В каждом герое и враге есть одинаковый скрипт
Код
instance_create(x-10,y-20,simple_damage_summ_drawer);simple_damage_summ_drawer.damage=(тут формула расчета дамага)

Далее, в созданном обьекте simple_damage_summ_drawer и отрисовывается дамаг. (это как бы вылетающая из врага циферка)

Если урон идет по одному врагу за 1 шаг - все ок. Но, если урон наносится двум и более врагов за 1 шаг, значение simple_damage_summ_drawer.damage меняется во всех обьектах - рисовальщиках дамага.

Выглядит вот так:
Урон только на одного чувака в голубой робе:


А вот если зацепить атакой их обоих - вылетает значение урона по ангелу, причем из обоих. Сам урон наносится корректно:


Если провести 2 атаки подряд по одному чуваку - тоже все корректно, значения разные:


Проблема именно в одном шаге и нескольких обьектах-рисовальщиках, созданных одновременно.


Сообщение отредактировал nekroo98 - Четверг, 26 Марта 2015, 12:43
nekroo98Дата: Четверг, 26 Марта 2015, 08:30 | Сообщение # 27 | Тема: Создание двух одинаковых обьектов одновременно
почетный гость
Сейчас нет на сайте
Некропостинга время!

Если событие происходит одновременно с 2 и более обьектами, цифра урона вылетает из всех одинаковая.
Как с этим быть и что делать?
nekroo98Дата: Понедельник, 04 Августа 2014, 09:57 | Сообщение # 28 | Тема: object_set_parent WTF?
почетный гость
Сейчас нет на сайте
Цитата Fade ()
if (x == y) object_set_parent(object_index, z);

чет я всегда думал, что id это и есть индекс обьекта.

Спасибо, object_index работает как надо happy
nekroo98Дата: Среда, 30 Июля 2014, 16:44 | Сообщение # 29 | Тема: object_set_parent WTF?
почетный гость
Сейчас нет на сайте
Цитата aFriend ()

Зная id обьекта с ним можно сделать все что душе угодно

тогда почему же
Код
object_set_parent(id,z)   -  в самом обьекте

или
Код
object_set_parent((переменная, куда записан id),z)    -    в любом обьекте

не работает?
nekroo98Дата: Среда, 30 Июля 2014, 15:28 | Сообщение # 30 | Тема: object_set_parent WTF?
почетный гость
Сейчас нет на сайте
Цитата aFriend ()
ты же понимаешь, что должно быть id?

ты же понимаешь, что я проверил перед тем как писать?
Не работает с id или self. Работает, только если прямо указать обьект, причем его имя, а не id.
Но, это не то, что нужно

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

к сожалению, ошибаешься smile
nekroo98Дата: Среда, 30 Июля 2014, 15:08 | Сообщение # 31 | Тема: object_set_parent WTF?
почетный гость
Сейчас нет на сайте
Цитата Леонид ()
Под переменной Z точно id родительского объекта?

ну не id, но имя обьекта-родителя
nekroo98Дата: Среда, 30 Июля 2014, 13:51 | Сообщение # 32 | Тема: object_set_parent WTF?
почетный гость
Сейчас нет на сайте
Цитата aFriend ()
значит условие не выполняется

все выполняется. если прописать конкретное название обьекта, например
Код
object_set_parent(ppl2_obj,team2)

а не
Код
object_set_parent(self,team2)

или
Код
object_set_parent(id,team2)


то работает. но этот скрипт нужен для сотни обьектов, не прописывать же 100 строк с ветвящимися условиями dry
nekroo98Дата: Среда, 30 Июля 2014, 13:35 | Сообщение # 33 | Тема: object_set_parent WTF?
почетный гость
Сейчас нет на сайте
Цитата aFriend ()
попробуй
Код
if x=y {object_set_parent(id,z)}


Неа, так же
nekroo98Дата: Среда, 30 Июля 2014, 12:55 | Сообщение # 34 | Тема: object_set_parent WTF?
почетный гость
Сейчас нет на сайте
Доброго времени суток всем smile

Вопщим, пишу я в скрипте(который используется в step обьекта 'self') такую весчь:
Код
if x=y {object_set_parent(self,z)}

И по сути, это должно давать обьекту 'self' родителя 'z'. А родителя у него как бэ не появляется, при выполненых условиях.

Штояделаюнетак?

(self - это применить к себе, я же правильно понимаю?)
nekroo98Дата: Понедельник, 10 Февраля 2014, 12:55 | Сообщение # 35 | Тема: Хелсбар диабло
почетный гость
Сейчас нет на сайте
Помогите в создании хэлсбара, как в диабло.
Видел где то пример, щас найти не могу.
nekroo98Дата: Понедельник, 09 Декабря 2013, 11:47 | Сообщение # 36 | Тема: Рандомный поворот обьекта
почетный гость
Сейчас нет на сайте
step
Код
if speed = 0 {alarm[0]:=250;}

alarm[0]
Код
dd:=irandom_range(0..360);move_contact_all(dd,50)
nekroo98Дата: Понедельник, 09 Декабря 2013, 11:34 | Сообщение # 37 | Тема: Несколько простых вопросов
почетный гость
Сейчас нет на сайте
1. instance_nearest(x,y,obj) Возвращает идентификатор ближайшего к точке (x,y) экземпляра объекта obj. obj может быть объектом, идентификатором экземпляра или всеми сразу.
2.Первый ближний, попавший в радиус - и будет первым ближнем, какбэ
3.Сложно. Если использовать инстанс неарест - с большой долей вероятности она будут отскакивать между двумя обьектами и все. Я задавал этот вопрос, есть темка, там даже сделали пример, но не тот. Поищи короч про цепную молнию чето было.
4. нелегко
5.рисуешь спрайты, используя функцию наклона спрайта, чтобы следы были наклонены в сторону, куда двигается перс. Ну или просто - делаешь обьект, который рисует спрайт, и со временем его прозрачность увеличивается, а затем он уничтожается, и по аларму создаешь такие следы. Это если обьект движется естесно.
6. Это очень просто, надо всего ли...ЧИТАТЬ ДАЛЕЕ
nekroo98Дата: Понедельник, 09 Декабря 2013, 11:13 | Сообщение # 38 | Тема: Вопрос по созданию персонажа
почетный гость
Сейчас нет на сайте
Да, верно сказали выше. Можно сделать несколько спрайтов - голова, тело, ноги, руки и тд. и с помощью кода заставить их двигаться относительно друг друга.
nekroo98Дата: Воскресенье, 08 Декабря 2013, 22:52 | Сообщение # 39 | Тема: Проверка столкновения, при движении в любую сторону(РЕШЕНО)
почетный гость
Сейчас нет на сайте
В общем такие дела - 2д, передвижение поклику мыши в сторону мыши. Чет я затупил на простой вроде бы вещи - как проверить столкновение с обьектом?
Если просто instance_place - тогда он остановится одним пикселем оставшись внутри препятствия, и дальше никуда не пойдет.
Если проверять на расстоянии 1 пикселя перед собой, то я не совсем понимаю как сделать?
Подскажите

Добавлено (08.12.2013, 22:52)
---------------------------------------------
В общем, если кому надо, вот решение

Код
speed=0

if place_meeting(x,y,other)
{
x+=lengthdir_x(1,point_direction(x,y,other.x,other.y)-180)
y+=lengthdir_y(1,point_direction(x,y,other.x,other.y)-180)
}


Сообщение отредактировал nekroo98 - Воскресенье, 08 Декабря 2013, 22:53
nekroo98Дата: Воскресенье, 01 Декабря 2013, 23:29 | Сообщение # 40 | Тема: проверка косания
почетный гость
Сейчас нет на сайте
если нажата клавиша мыши(глобальное событие) - записываешь куда то координаты mouse_x, mouse_y, и идешь на эти координаты...

Сообщение отредактировал nekroo98 - Воскресенье, 01 Декабря 2013, 23:39
Форум игроделов » Записи участника » nekroo98 [120]
  • Страница 2 из 6
  • «
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • »
Поиск:

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