Результаты поиска
|
|
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 Код в событии "шаг" у объекта "игрок" (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 | Тема: Создание через время |
заслуженный участник
Сейчас нет на сайте
| Я подозреваю что он забыл убрать удаление объекта. Объект удаляется, и соответственно, видимым стать уже не может (или поменять спрайт).
Новый пример инвентаря! /20.06.2012/
Energy Wars
|
|
| |
Dva_Kota | Дата: Понедельник, 17 Января 2011, 12:36 | Сообщение # 286 | Тема: Создание через время |
заслуженный участник
Сейчас нет на сайте
| можно даже без этой проверки сделать. Просто В событии столкновения: Code visible=0; alarm[1]=300; В событии Alarm0: Но опять же, если ты его сделаешь невидимым - с ним все равно можно будет потом столкнуться, а тут нужна "имитация удаления", т.е. чтобы объекта как будто не было (можно было пройти "сквозь него"). Хотя в некоторых случаях можно и через 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 - распространенная ошибка.
Новый пример инвентаря! /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
|
|
| |