Суббота, 30 Ноября 2024, 07:44

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

[ Новые сообщения · Игроделы · Правила · Поиск ]
Результаты поиска
Dva_KotaДата: Вторник, 18 Января 2011, 14:01 | Сообщение # 281 | Тема: Помогите плиз с маской и спрайтом.(=
заслуженный участник
Сейчас нет на сайте
ок

Новый пример инвентаря! /20.06.2012/

Energy Wars
Dva_KotaДата: Вторник, 18 Января 2011, 13:47 | Сообщение # 282 | Тема: Помогите плиз с маской и спрайтом.(=
заслуженный участник
Сейчас нет на сайте
Норм. Только убери картинку под спойлер.
Сбрось еще спрайт игрока.
И как у тебя движение игрока сделано?


Новый пример инвентаря! /20.06.2012/

Energy Wars
Dva_KotaДата: Вторник, 18 Января 2011, 12:28 | Сообщение # 283 | Тема: Помогите плиз с маской и спрайтом.(=
заслуженный участник
Сейчас нет на сайте
AGENTX001, выложи спрайт и маску, попробую сделать пример.
Я делал так: все дома делал из двух объектов: маска и сам дом. У дома маски нет - сквозь него можно проходить. У "маски" маска есть.
В редакторе ставим только дома. В событии создания каждого дома пишем создания объекта-маски в тех же координатах (для каждого дома своя маска). Столкновения проверяй с объектом-маской.
У игрока точно так же - два объекта - маска и сам игрок (у иобъекта "игрок", как и у "здания" маски столкновений быть не должно - отключи в редакторе спрайтов). Управляешь только одним объектом (я управлял маской), а второй просто привязываешь к нему.
В событии создания здания еще пропиши изменение глубины: глубина должна равняться -y
Code
depth = -y;

Код в событии "шаг" у объекта "игрок" (obj_player_mask - объект-маска игрока, obj_building_base - родительский объект для всех домов (можно не только дома, но и любые другие объекты, за которые игрок может "заходить")

Code
with (obj_player_mask)
{
if (place_meeting(x,y,obj_building_base))       //Если игрок за зданием/забором/деревом ит т.д.
      {
      other.depth=1-((instance_place(x,y,obj_building_base)).y) //Устанавливаем ему глубину глубже чем здание/забор/дерево и т.д.
      }
else
      {
      other.depth=-1000 //если игрок не за зданием ставим игрока на передний план
      }
}

Маску для игрока лучше делать в виде овала. Перемещать советую маску, image_angle у маски игрока не меняй.
Вроде бы ничего не забыл

Добавлено (18.01.2011, 12:28)
---------------------------------------------
NeZnayu выложил хороший и простой пример. Он на много удобнее чем то что предлагаю я. Возможно он тебе подойдет.
минус тут в том, что не для всех игр (не для всех объектов) он подойдет. Он подходит только в том случае, если левый и правый углы спрайта находятся на одном уровне (у них одинаковый у и он совпадает с у самого спрайта), если углы не на одном уровне - отображаться будет не правильно (по этому я и сделал таким способом - через 2 объекта, другой не нашел и придумать не смог).



Новый пример инвентаря! /20.06.2012/

Energy Wars


Сообщение отредактировал Dva_Kota - Вторник, 18 Января 2011, 12:29
Dva_KotaДата: Понедельник, 17 Января 2011, 18:08 | Сообщение # 284 | Тема: Стрельба в платформере
заслуженный участник
Сейчас нет на сайте
BaHu3aTop, это не подойдет. у него же вращается рука. Нужно координаты создания пули вычислять через lengthdir_x и lengthdir_y что то похожее на
Code
instance_create(x+lengthdir_x(28,direction-5),y+lengthdir_y(28,direction-5),obj_bullet_01);

здесь есть пример:

http://forum.hellroom.ru/index.php/topic,1559.msg11605.html#msg11605

А вот здесь программа для подбора координат через lengthdir_x и lengthdir_y:

http://forum.hellroom.ru/index.php/topic,2416.0.html


Новый пример инвентаря! /20.06.2012/

Energy Wars
Dva_KotaДата: Понедельник, 17 Января 2011, 13:02 | Сообщение # 285 | Тема: Создание через время
заслуженный участник
Сейчас нет на сайте
Я подозреваю что он забыл убрать удаление объекта. Объект удаляется, и соответственно, видимым стать уже не может (или поменять спрайт). smile

Новый пример инвентаря! /20.06.2012/

Energy Wars
Dva_KotaДата: Понедельник, 17 Января 2011, 12:36 | Сообщение # 286 | Тема: Создание через время
заслуженный участник
Сейчас нет на сайте
можно даже без этой проверки сделать. Просто

В событии столкновения:

Code
visible=0; alarm[1]=300;

В событии Alarm0:
Code
visible=1;

Но опять же, если ты его сделаешь невидимым - с ним все равно можно будет потом столкнуться, а тут нужна "имитация удаления", т.е. чтобы объекта как будто не было (можно было пройти "сквозь него"). Хотя в некоторых случаях можно и через visible сделать. Зависит от того что именно нужно.


Новый пример инвентаря! /20.06.2012/

Energy Wars
Dva_KotaДата: Понедельник, 17 Января 2011, 11:12 | Сообщение # 287 | Тема: Создание через время
заслуженный участник
Сейчас нет на сайте
LunarPixel, тут проблема будет в том, сто событие "столкновение" все равно будет выполняться. А если заменить на пустой спрайт - столкновения не будет (если этому спрайту маску не ставить). А зачем вообще там эта переменная нужна? Можно ведь просто поменять спрайт, а потом в аларме вернуть его обратно. И без переменной.

Добавлено (17.01.2011, 11:11)
---------------------------------------------
ставить не в степ, а в событие столкновения:

Code
sprite_index=(тут спрайт пустышка);  
alarm[0]=300;

В событии alarm0:
Code
sprite_index=(спрайт начальный);

Добавлено (17.01.2011, 11:12)
---------------------------------------------
ну или не в событие "столкновение", а туда, где стоит действие "уничтожение" (вместо него).


Новый пример инвентаря! /20.06.2012/

Energy Wars
Dva_KotaДата: Понедельник, 17 Января 2011, 09:16 | Сообщение # 288 | Тема: Создание через время
заслуженный участник
Сейчас нет на сайте
Сделай способом который предлагает BrightSpot и убери событие уничтожение (если его не убрать - объект уничтожится и аларм не сработает).

Новый пример инвентаря! /20.06.2012/

Energy Wars
Dva_KotaДата: Суббота, 15 Января 2011, 22:39 | Сообщение # 289 | Тема: Удаление массива
заслуженный участник
Сейчас нет на сайте
Есть такая идея: массив задавать в отдельном объекте. Когда нужно удалить массив - удаляешь объект и создаешь его заново. Не знаю, может идея бредовая, но это первое что приходит в голову...

Новый пример инвентаря! /20.06.2012/

Energy Wars
Dva_KotaДата: Суббота, 15 Января 2011, 12:07 | Сообщение # 290 | Тема: Склад скриптов на Game Maker
заслуженный участник
Сейчас нет на сайте
Вот тебе полезные скрипты:
http://forum.hellroom.ru/index.php/topic,1827.0.html


Новый пример инвентаря! /20.06.2012/

Energy Wars
Dva_KotaДата: Суббота, 15 Января 2011, 02:49 | Сообщение # 291 | Тема: Поиск пути (Pathfinding)
заслуженный участник
Сейчас нет на сайте
Самый простой - функции mp_potential_step() и mp_potential_step_object() Ставить их нужно в Step (подробнее про эти функции прочитай в справке).

Новый пример инвентаря! /20.06.2012/

Energy Wars


Сообщение отредактировал Dva_Kota - Суббота, 15 Января 2011, 02:49
Dva_KotaДата: Пятница, 14 Января 2011, 13:59 | Сообщение # 292 | Тема: проблема с инвентарем
заслуженный участник
Сейчас нет на сайте
привязка объектов к мышке или друг к другу в событии Step - распространенная ошибка. smile

Новый пример инвентаря! /20.06.2012/

Energy Wars
Dva_KotaДата: Пятница, 14 Января 2011, 11:04 | Сообщение # 293 | Тема: проблема с инвентарем
заслуженный участник
Сейчас нет на сайте
А в чем был недочет?

Новый пример инвентаря! /20.06.2012/

Energy Wars
Dva_KotaДата: Четверг, 13 Января 2011, 18:44 | Сообщение # 294 | Тема: проблема с инвентарем
заслуженный участник
Сейчас нет на сайте
Сделай так:
Quote (Dva_Kota)
Так например добавить в посторонний объект переменную-контроллер, которая не будет допускать 2 выделенных объекта(image_index=1) и хранить значения 0 и 1. + объект временной памяти, который будет отвечать за заменяемый объект. а каждый шаг будет проверка контроллера и через преме памяти смена кадра для второго объекта.

Только проверяй не каждый шаг, а только в событии нажатия клавиши мышки.


Новый пример инвентаря! /20.06.2012/

Energy Wars
Dva_KotaДата: Четверг, 13 Января 2011, 16:57 | Сообщение # 295 | Тема: проблема с инвентарем
заслуженный участник
Сейчас нет на сайте
Есть вариант: разбей код на две части: клади предмет при нажатии клавиши, а бери - при отпускании.

Добавлено (13.01.2011, 16:57)
---------------------------------------------
ну не совсем так... это работать тоже будет не правильно, но, возможно, с этим можно что-то придумать...


Новый пример инвентаря! /20.06.2012/

Energy Wars
Dva_KotaДата: Среда, 12 Января 2011, 10:34 | Сообщение # 296 | Тема: объект - родитель
заслуженный участник
Сейчас нет на сайте
vsDaTavs, Нужно просто чуть-чуть изменить твой код:
Вначале всем ячейкам jnr[n,k], в которых нет предметов присвой значение 0. А потом проверяй таким кодом:

Code
while (jnr[n,k]!=0) // если данному индексу присвоено значение отличное от 0 (в данной ячейке расположен предмет)
{
instance_create(36+66*n,68+66*k,jnr[n,k]) // создаем объект в подсчитанных мной координатах
if(k<2) {k +=1} // если предмет не располагается в последнем столбце, увеличиваем столбец на 1
else {n +=1 k=0} // если же столбец последний, увеличиваем строку и задаем первый столбец
}


Новый пример инвентаря! /20.06.2012/

Energy Wars
Dva_KotaДата: Воскресенье, 09 Января 2011, 10:53 | Сообщение # 297 | Тема: баллистический снаряд
заслуженный участник
Сейчас нет на сайте
аТнОтХоАн, лучше так:

degtorad(x) Переводит градусы в радианы.
radtodeg(x) Переводит радианы в градусы.


Новый пример инвентаря! /20.06.2012/

Energy Wars
Dva_KotaДата: Суббота, 08 Января 2011, 11:25 | Сообщение # 298 | Тема: Еще одна темка для вопросов...
заслуженный участник
Сейчас нет на сайте
Да, будет к ближайшему:
функция instance_nearest() находит ближайший объект.

2. Сделай спрайт, который будет рисоваться только в том виде, который у тебя служит радаром.


Новый пример инвентаря! /20.06.2012/

Energy Wars
Dva_KotaДата: Суббота, 08 Января 2011, 11:00 | Сообщение # 299 | Тема: Работа с внешними файлами. (?)
заслуженный участник
Сейчас нет на сайте
Вот статья, надеюсь поможет.
http://forum.hellroom.ru/index.php/topic,2239.0.html


Новый пример инвентаря! /20.06.2012/

Energy Wars


Сообщение отредактировал Dva_Kota - Суббота, 08 Января 2011, 11:01
Dva_KotaДата: Пятница, 07 Января 2011, 12:01 | Сообщение # 300 | Тема: Пинпонг
заслуженный участник
Сейчас нет на сайте
Ято я немного не то написал. В шаге стрелки вот так написать нужно:

Code
image_angle-=0.1;
if (image_angle)=0
{
show_message('Собщение');
}


Новый пример инвентаря! /20.06.2012/

Energy Wars
Поиск:

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