Вторник, 08 Октября 2024, 02:37

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

[ Новые сообщения · Игроделы · Правила · Поиск ]
Вопрос - Ответ (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. Читай в справке про функцию. smile

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)
вращается против часовой стрелки в градусах


Что тебе не понятно?! Проще было бы только написать тебе готовый ответ кодом. smile rot задает угол вращения, вот этот параметр и меняй для поворота.
И не дерзи.. Раз ума не хватает понять, ничем помочь не могу. Я тебе все, что надо написал, тебе лишь саму функцию в справке посмотреть оставалось. smile




Сообщение отредактировал 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? smile

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 не удовлетворяло условиям уничтожения обьекта. Могут случиться самоубийства smile
Quote (valeko)
Проблема в том, что что я не знаю, как очистить мышь. Как только я выбираю в инвентаре башню, чтобы ее поставить на карте. Она после выбора мгновенно ставится прямо в инвентаре. Подозреваю, что как раз из-за сохранения значения мыши.

Используй "правильные события". Мышь нажата --> башня "взята", мышь отпущена --> башня ставится на место.


Фотошоп это не сложно. Немного теории, полезной на практике:
Работа с наложением текстур
Рисуем без планшета


Сообщение отредактировал SalahAdDin - Пятница, 26 Августа 2011, 00:50
valekoДата: Пятница, 26 Августа 2011, 00:46 | Сообщение # 2097
частый гость
Сейчас нет на сайте
И последнее.

В Begin Step написано: svobodno = true // клетка свободна

Если происходит столкновение с объектом - в коде написано: svobodno=false // клетка занята.

В левом клике мышки: if svobodno instance_create(mouse_x,mouse_y,turel) // если свободно - создать турель

Проверяю переменную через Show Local Variables, показывает, что svobodno = 0, а турель все равно создается. И когда равно 1 тоже... Плакать хочется.

Пойду еще побьюсь головой о стену. sad sad sad


2D NoteWar
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)
Пробовал уточнять значение переменной? Если свободно==истина?


Пробовал. sad Никакой разницы...


2D NoteWar
SalahAdDinДата: Пятница, 26 Августа 2011, 01:23 | Сообщение # 2100
постоянный участник
Сейчас нет на сайте
Quote (valeko)
то тоже скорость остается равной нулю.

А ты значение переменной speed_vrag присваиваешь переменной speed?
speed=speed_vrag, есть такое? smile
Quote (valeko)
В твоем случае после отпускания башни в неправильном месте ее придется уничтожать и опять брать из инвентаря.

Ну с состоянием мыши тоже баловать не нужно. Просто завеи какой нибудь индикатор-переменную, сойдет и айди взятой башни, мол башня уже взята. Если взята - ставить по клику, если не взята - взять. ложно обьяснить на словах, проще пример сделать, но только сейчас уже не время для таких дел. Отложим до завтра smile

Добавлено (26.08.2011, 01:07)
---------------------------------------------

Quote (valeko)
В Begin Step написано: svobodno = true // клетка свободна

Может тогда дело в том что у тебя клетка всегда свободна? smile
Почему в степ?

Добавлено (26.08.2011, 01:23)
---------------------------------------------
Криэйт:

Code
current_tower=0

Клик мышью:
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;
                   }
       }

Как то так, пробуй...


Фотошоп это не сложно. Немного теории, полезной на практике:
Работа с наложением текстур
Рисуем без планшета
Поиск:

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