Помогите разобраться!
|
|
Интернет | Дата: Воскресенье, 24 Мая 2015, 13:52 | Сообщение # 1 |
постоянный участник
Сейчас нет на сайте
| При уничтожении головы у врага должно удалятся часть туловища ( потом добавлю анимацию и тд) но получается что удаляется эта часть у всех врагов как исправить исходник
Сообщение отредактировал Интернет - Воскресенье, 24 Мая 2015, 15:02 |
|
| |
Raven84 | Дата: Воскресенье, 24 Мая 2015, 14:17 | Сообщение # 2 |
старожил
Сейчас нет на сайте
| Интернет, Исходник не смотрел. Некогда качать и разбираться. Но суть проблемы и причина совершенно ясны. Проблема в том, что ты удаляешь "часть туловища" у ОБЪЕКТА. По этому она удаляется у всех врагов. Нужно же эту "часть туловища" удалять у ОБРАЗЦА ОБЪЕКТА, узнав его id. Все объекты в Game Maker имеют свой уникальный номер id (его видно в редакторе комнаты снизу, когда ты наводишь курсором на объекты). Обращаясь к объекту по имени объекта и делая какую-нибудь с ним операцию, это происходит со всеми образцами. Если же ты обращаешься именно к одному из образцов объекта (к его id), то эта операция происходит только с ним и ни с чем больше. Твоя задача узнать id того врага, у которого ты хочешь удалить "часть туловища". Сделать это не сложно. В справке все есть. Но если честно это все базовый уровень, основы. Добавлено (24 мая 2015, 14:17) --------------------------------------------- Можно к примеру воспользоваться таким кодом: Код enemy=instance_position(x,y,Vrag) with(enemy) {тут пишем код удаления части туловища} Т.е. мы узнаем id объекта Vrag (имя объекта врага, я не знаю какое оно у тебя) который находится в координатах x и y и записываем этот самый id в переменную enemy. Все теперь мы можем делать с ним (ОДНИМ) все что угодно. Тут я использовал функцию with.
Super Knight Story (в разработке) Idolzzz - игра доступна в Steam и Play Market Oliver's Adventures in the Fairyland
Сообщение отредактировал Raven84 - Воскресенье, 24 Мая 2015, 14:12 |
|
| |
Интернет | Дата: Воскресенье, 24 Мая 2015, 14:24 | Сообщение # 3 |
постоянный участник
Сейчас нет на сайте
| всё равно удаляются все части такого типа
|
|
| |
Raven84 | Дата: Воскресенье, 24 Мая 2015, 14:36 | Сообщение # 4 |
старожил
Сейчас нет на сайте
| Интернет, Код хоть выложи что ли тогда! Ты просто в коде где-то делаешь ошибку. Какой уровень владения GML вообще?
Super Knight Story (в разработке) Idolzzz - игра доступна в Steam и Play Market Oliver's Adventures in the Fairyland
|
|
| |
Интернет | Дата: Воскресенье, 24 Мая 2015, 14:43 | Сообщение # 5 |
постоянный участник
Сейчас нет на сайте
| может в этом ошибка например привязываю я несколько объектов к одному чтобы получился враг пишу в Create главного объекта a=instance_create(x,y,ruka) a.sruka = id; а в самом объекте например в руке пишу вот в End Step x = sruka.x-10; y = sruka.y-10; так вот я к чему я пробовал вот так id_ruka = instance_create(x, y, ruka); with (id_ruka) instance_destroy(); не помогло, я просто думаю, что это из за привязки объектов происходит а твой код прописал так enemy=instance_position(x,y,ruka) with(enemy) {instance_destroy()} тоже как ни странно при уничтожении головы удаляются все экземпляры руки,справку посмотрел подходящего не нашел,не проще взглянуть исходник? ибо руки кривые Какой уровень владения GML вообще? ну это 4 игра до этого сделал лабиринт потом примитивную стрелялку потом платформер с гравитацией и теперь эта вот.
Сообщение отредактировал Интернет - Воскресенье, 24 Мая 2015, 14:46 |
|
| |
Raven84 | Дата: Воскресенье, 24 Мая 2015, 14:53 | Сообщение # 6 |
старожил
Сейчас нет на сайте
| Интернет, Цитата не проще взглянуть исходник? Я уже понял, что проще в исходнике покопаться, но ты не правильно его выложил. При открытии этого файла выдает кучу ошибок. Нужно не только один файл выкладывать, но и все папки идущие с ним.Добавлено (24 мая 2015, 14:53) --------------------------------------------- Интернет, Цитата id_ruka = instance_create(x, y, ruka); with (id_ruka) instance_destroy(); не помогло, я просто думаю, что это из за привязки объектов происходит а твой код прописал так enemy=instance_position(x,y,ruka) with(enemy) {instance_destroy()} Вопрос в том, куда ты пишешь первые строчки кода и вторые? В каком объекте, в каком событии?Добавлено (24 мая 2015, 14:53) --------------------------------------------- Я если честно с твоего текста ничего не понял. Создай архив, и перезалей. Тогда только думаю будет толк.
Super Knight Story (в разработке) Idolzzz - игра доступна в Steam и Play Market Oliver's Adventures in the Fairyland
|
|
| |
Интернет | Дата: Воскресенье, 24 Мая 2015, 15:02 | Сообщение # 7 |
постоянный участник
Сейчас нет на сайте
| перезалил
|
|
| |
|
Интернет | Дата: Воскресенье, 24 Мая 2015, 15:42 | Сообщение # 9 |
постоянный участник
Сейчас нет на сайте
| спс, буду учиться
Сообщение отредактировал Интернет - Воскресенье, 24 Мая 2015, 15:43 |
|
| |