Вопрос - Ответ (Game Maker)
| |
Transced | Дата: Среда, 24 Августа 2011, 12:59 | Сообщение # 2081 |
TransceD = Game Maker
Сейчас нет на сайте
| Лер_да_Рим, Quote GM6, и GM7, и GM8.0... А лицензии кто покупать будет? Или ты намекаешь на воровство?
|
|
| |
valeko | Дата: Среда, 24 Августа 2011, 15:23 | Сообщение # 2082 |
частый гость
Сейчас нет на сайте
| Quote (Transced) А лицензии кто покупать будет? Или ты намекаешь на воровство?
Ну, я лицензией не пользуюсь - мне пока хватает функций непрофессиональной версии. Думаю, на это он и намекает.
2D NoteWar
|
|
| |
Transced | Дата: Среда, 24 Августа 2011, 15:24 | Сообщение # 2083 |
TransceD = Game Maker
Сейчас нет на сайте
| Вот у меня есть такой вопрос: Вот я в событии рисования объекта 0_1, даю ему команду выполнения скрипта script_1 в котором написано:
Code { draw_sprite(s_temno_sini,-1,x,y); draw_sprite(s_chorna,-1,x,y); draw_sprite(s_guns_1,-1,x,y); } А в событии шага объекта 0_1 я пишу: Code image_angle = point_direction(x,y,mouse_x,mouse_y) Но мой объект не поворачивается за мишкой. В чем проблема. Вроде все правильно. P.S. уже давно работал на GM)Добавлено (24.08.2011, 15:24) --------------------------------------------- valeko, так в не ПРО версии отсутствует много функций)
|
|
| |
LunarPixel | Дата: Среда, 24 Августа 2011, 15:29 | Сообщение # 2084 |
старожил
Сейчас нет на сайте
| Transced, если ты используешь рисование, то image_angle работать не будет. Нужно рисовать спрайт через draw_sprite_ext, и там менять параметр rot, который аналогичен image_angle. Читай в справке про функцию.
|
|
| |
valeko | Дата: Среда, 24 Августа 2011, 16:40 | Сообщение # 2085 |
частый гость
Сейчас нет на сайте
| Извините все, кому я надоел своими вопросами.
Есть объект dom_vraga. У него в коде только alarm[0]. Там записано:
id_vraga=instance_create(0,320,vrag); // создаем нового врага id_vraga.jizn = id_vraga.uron=random(100)+1 // задаю жизнь и максимальный урон, который выдержит враг id_vraga.speed_vrag = random(7)+1 // задаю скорость врага alarm[0] = 30+random(60) // задержка до появления следующего врага
Но когда в объекте vrag дело доходит до этой формулы:
path_start(path1,speed_vrag,1,0);
Появляется сообщение об ошибке:
Unknown variable speed_vrag
Где я не прав?
2D NoteWar
Сообщение отредактировал valeko - Среда, 24 Августа 2011, 22:24 |
|
| |
Transced | Дата: Среда, 24 Августа 2011, 16:57 | Сообщение # 2086 |
TransceD = Game Maker
Сейчас нет на сайте
| valeko, у тебя ошибка потомучто не может найти: speed_vrag . Посмотри есть ли оно у тебя)
Добавлено (24.08.2011, 16:57) --------------------------------------------- LunarPixel, можешь по понятливое написать, ты больше про справку написал чем про сам ответ! Вот что в справке:
draw_sprite_ext(sprite,subimg,x,y,xscale,yscale,rot,color,alpha) Рисует спрайт, который масштабируется с показателями xscale и yscale и вращается против часовой стрелки в градусах. color - цвет смешивания (используйте c_white, чтобы смешивания не было) и alpha - указывает показатель прозрачности с которым изображения объединяются со своим фоном. Значение 0 делает спрайт полностью прозрачным. Значение 1 делает его непрозрачным. Эта функция может создать отличные эффекты (например, частично прозрачные взрывы).
Ну и что здесь такого написано что должно мне объяснить как использовать эту функцию и зачем! Там написано для создания полупрозрачных взрывов!
Я одно понял это у тебя такое хобби писать всем смотри в справке! Ты делаешь из себя бога по программированию, будь проще.
P.S. первое что я сделал когда мне нужно было решить эту проблему я полез в справку, но там не слова не сказано об этой проблемой! Если я не прав так найди мне тот текст в справки который мне нужен. Я уверен что не найдешь))
Сообщение отредактировал Transced - Среда, 24 Августа 2011, 16:59 |
|
| |
LunarPixel | Дата: Среда, 24 Августа 2011, 17:18 | Сообщение # 2087 |
старожил
Сейчас нет на сайте
| Quote (LunarPixel) если ты используешь рисование, то image_angle работать не будет. Quote (LunarPixel) Нужно рисовать спрайт через draw_sprite_ext Quote (Transced) draw_sprite_ext(sprite,subimg,x,y,xscale,yscale,rot,color,alpha) Quote (LunarPixel) там менять параметр rot Quote (Transced) вращается против часовой стрелки в градусах
Что тебе не понятно?! Проще было бы только написать тебе готовый ответ кодом. rot задает угол вращения, вот этот параметр и меняй для поворота. И не дерзи.. Раз ума не хватает понять, ничем помочь не могу. Я тебе все, что надо написал, тебе лишь саму функцию в справке посмотреть оставалось.
Сообщение отредактировал LunarPixel - Среда, 24 Августа 2011, 17:19 |
|
| |
Лер_да_Рим | Дата: Среда, 24 Августа 2011, 17:53 | Сообщение # 2088 |
заслуженный участник
Сейчас нет на сайте
| valeko, значит, ты не сумел объяснить. По всему было видно, что как раз уничтожение у тебя и не выполняется...
Transced, я ни на что пока не намекаю. Я просто утверждаю, что в интернете можно найти любую версию GM, не воруя, просто скачать. И к тому же крякнутые версии - не воровство.
Дамы и господа, я представляю вам человека, которому н-а-с-р-а-т-ь! (с) Доктор Кокс.
|
|
| |
valeko | Дата: Среда, 24 Августа 2011, 18:55 | Сообщение # 2089 |
частый гость
Сейчас нет на сайте
| Quote (Transced) valeko, у тебя ошибка потомучто не может найти: speed_vrag . Посмотри есть ли оно у тебя)
Сомнительные места выделил цветом:
Есть объект dom_vraga. У него в коде только alarm[0]. Там записано:
id_vraga=instance_create(0,320,vrag); // создаем нового врага id_vraga.jizn = id_vraga.uron=random(100)+1 // задаю жизнь и максимальный урон, который выдержит враг id_vraga.speed_vrag = random(7)+1 // задаю скорость врага alarm[0] = 30+random(60) // задержка до появления следующего врага
Но когда в объекте vrag дело доходит до этой формулы:
path_start(path1,speed_vrag,1,0);
Появляется сообщение об ошибке:
Unknown variable speed_vrag
2D NoteWar
Сообщение отредактировал valeko - Среда, 24 Августа 2011, 22:25 |
|
| |
LunarPixel | Дата: Среда, 24 Августа 2011, 23:13 | Сообщение # 2090 |
старожил
Сейчас нет на сайте
| valeko, у объекта vrag переменную speed_vrag объявил в событии create?
|
|
| |
SalahAdDin | Дата: Четверг, 25 Августа 2011, 08:04 | Сообщение # 2091 |
постоянный участник
Сейчас нет на сайте
| Quote (Transced) draw_sprite_ext(sprite,subimg,x,y,xscale,yscale,rot,color,alpha) Вот так вот... Смотрел-смотрел и не высмотрел... Quote (Transced) Я одно понял это у тебя такое хобби писать всем смотри в справке! Это как посылать в гугл за ответом на очевидный дурацкий вопрос.
Quote (valeko) Извините все, кому я надоел своими вопросами. Все переменные, которые используются не локально в коде нужно обьявлять заранее при создании обьекта. Например переменные для циклов можно обьявлять непосредственно перед применением. В выражении for i=0; i<3; i+=1 переменная используется локально (такие переменные обьявляются сразу перед использованием), а в id_vraga.speed_vrag = random(7) нет (тут обьяснить сложнее, переменная должна быть обьявлена в криэйт чтобы она была доступна в других событиях и/или обьектах).
Фотошоп это не сложно. Немного теории, полезной на практике: Работа с наложением текстур Рисуем без планшета
Сообщение отредактировал SalahAdDin - Четверг, 25 Августа 2011, 08:18 |
|
| |
valeko | Дата: Четверг, 25 Августа 2011, 10:08 | Сообщение # 2092 |
частый гость
Сейчас нет на сайте
| Quote (SalahAdDin) valeko, у объекта vrag переменную speed_vrag объявил в событии create?
Quote (SalahAdDin) переменная должна быть обьявлена в криэйт чтобы она была доступна в других событиях и/или обьектах).
Спасибо! Я не знал. Думал, что при первом обращении переменная создается даже таким образом.
2D NoteWar
|
|
| |
jManiar | Дата: Четверг, 25 Августа 2011, 12:29 | Сообщение # 2093 |
частый гость
Сейчас нет на сайте
| Проблема с текстовой игрой. http://s014.radikal.ru/i328/1108/ea/8f6a0180759a.png Как увеличить размеры кнопок? Текст не помещается
|
|
| |
GameMix | Дата: Четверг, 25 Августа 2011, 12:54 | Сообщение # 2094 |
старожил
Сейчас нет на сайте
| jManiar, обсуждалось уже, на 100 странице. Пример выкладывал, но с емсалатом что-то. Перезалил: скачать.
Steel Standoff - 2D аркада. Мои статьи
|
|
| |
valeko | Дата: Пятница, 26 Августа 2011, 00:35 | Сообщение # 2095 |
частый гость
Сейчас нет на сайте
| Quote (SalahAdDin) переменная должна быть обьявлена в криэйт чтобы она была доступна в других событиях и/или обьектах).
Я наверное туплю:
Объект создающий врага: id_vraga=instance_create(0,320,vrag); // создаем нового врага id_vraga.speed_vrag = random(7)+1
Объект vrag в криэйте var jizn, uron, speed_vrag; // я думал, что здесь объявляю переменные path_start(h1,speed_vrag,1,0);
Итог: Unknown variable speed_vragДобавлено (26.08.2011, 00:35) --------------------------------------------- И еще, будьте добры, подскажите, как правильно использовать mouse_clear(mb_left) или io_clear().
Проблема в том, что что я не знаю, как очистить мышь. Как только я выбираю в инвентаре башню, чтобы ее поставить на карте. Она после выбора мгновенно ставится прямо в инвентаре. Подозреваю, что как раз из-за сохранения значения мыши.
2D NoteWar
Сообщение отредактировал valeko - Четверг, 25 Августа 2011, 23:58 |
|
| |
SalahAdDin | Дата: Пятница, 26 Августа 2011, 00:42 | Сообщение # 2096 |
постоянный участник
Сейчас нет на сайте
| Quote (valeko) var jizn, uron, speed_vrag; // я думал, что здесь объявляю переменные Либо поставь галочку в настройках игры "обращаться с не инициализированными переменными как с 0" (помоему так она называется), либо присваивай при обьявлении переменной любое значение. var jizn=0, uron=0, speed_vrag=0; Дело в том, что обьявление через var требует применения переменных в том же блоке кода, где они были обьявлены, и все равно значения перед применением придется присваивать. Слишком специфический оператор чтобы его использовать где попало. Не нужно усложнять себе жизнь. Только следи чтобы значение например переменной jizn не удовлетворяло условиям уничтожения обьекта. Могут случиться самоубийства Quote (valeko) Проблема в том, что что я не знаю, как очистить мышь. Как только я выбираю в инвентаре башню, чтобы ее поставить на карте. Она после выбора мгновенно ставится прямо в инвентаре. Подозреваю, что как раз из-за сохранения значения мыши. Используй "правильные события". Мышь нажата --> башня "взята", мышь отпущена --> башня ставится на место.
Фотошоп это не сложно. Немного теории, полезной на практике: Работа с наложением текстур Рисуем без планшета
Сообщение отредактировал SalahAdDin - Пятница, 26 Августа 2011, 00:50 |
|
| | |
SalahAdDin | Дата: Пятница, 26 Августа 2011, 00:52 | Сообщение # 2098 |
постоянный участник
Сейчас нет на сайте
| Quote (valeko) if svobodno instance_create(mouse_x,mouse_y,turel) Пробовал уточнять значение переменной? Если свободно==истина?
Фотошоп это не сложно. Немного теории, полезной на практике: Работа с наложением текстур Рисуем без планшета
|
|
| |
valeko | Дата: Пятница, 26 Августа 2011, 00:59 | Сообщение # 2099 |
частый гость
Сейчас нет на сайте
| Quote (valeko) Либо поставь галочку в настройках игры "обращаться с не инициализированными переменными как с 0"
Ставил. Но тогда в объекте создающем врага id_vraga.speed_vrag = random(7)+1 не срабатывает и скорость остается равной нулю.
Quote (SalahAdDin) var jizn=0, uron=0, speed_vrag=0;
При таком объявлении сразу на символе "=" выдает ошибку Unexpected symbol in expression.
Если использовать вариант: var jizn, uron, speed_vrag; jizn=0; uron=0; speed_vrag=0 то тоже скорость остается равной нулю.
Quote (SalahAdDin) Используй "правильные события". Мышь нажата --> башня "взята", мышь отпущена --> башня ставится на место. Нужно именно по клику, а не просто по нажатию, т.к. есть места, куда башня ставиться не должна. В твоем случае после отпускания башни в неправильном месте ее придется уничтожать и опять брать из инвентаря.Добавлено (26.08.2011, 00:59) ---------------------------------------------
Quote (SalahAdDin) Пробовал уточнять значение переменной? Если свободно==истина?
Пробовал. Никакой разницы...
2D NoteWar
|
|
| |
SalahAdDin | Дата: Пятница, 26 Августа 2011, 01:23 | Сообщение # 2100 |
постоянный участник
Сейчас нет на сайте
| Quote (valeko) то тоже скорость остается равной нулю. А ты значение переменной speed_vrag присваиваешь переменной speed? speed=speed_vrag, есть такое? Quote (valeko) В твоем случае после отпускания башни в неправильном месте ее придется уничтожать и опять брать из инвентаря. Ну с состоянием мыши тоже баловать не нужно. Просто завеи какой нибудь индикатор-переменную, сойдет и айди взятой башни, мол башня уже взята. Если взята - ставить по клику, если не взята - взять. ложно обьяснить на словах, проще пример сделать, но только сейчас уже не время для таких дел. Отложим до завтра Добавлено (26.08.2011, 01:07) ---------------------------------------------
Quote (valeko) В Begin Step написано: svobodno = true // клетка свободна Может тогда дело в том что у тебя клетка всегда свободна? Почему в степ?Добавлено (26.08.2011, 01:23) --------------------------------------------- Криэйт: Клик мышью: Code if current_tower=0 { current_tower=instance_create(x,y,tower); } else { if place_free(bla,bla,bla) { current_tower.x=mouse_x; current_tower.y=mouse_y; current_tower=0; } } Как то так, пробуй...
Фотошоп это не сложно. Немного теории, полезной на практике: Работа с наложением текстур Рисуем без планшета
|
|
| |
|