Пятница, 19 Апреля 2024, 23:35

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

[ Новые сообщения · Игроделы · Правила · Поиск ]
  • Страница 1 из 21
  • 1
  • 2
  • 3
  • 20
  • 21
  • »
Форум игроделов » Записи участника » Krosos [407]
Результаты поиска
KrososДата: Пятница, 29 Ноября 2013, 17:24 | Сообщение # 1 | Тема: Вопрос - Ответ (Game Maker)
постоянный участник
Сейчас нет на сайте
JunkerKun, ты забыл самое главное -наличие препятствий.ИИ не должен стрелять в стену за которой скрылся игрок.




Мой проект
KrososДата: Пятница, 29 Ноября 2013, 03:21 | Сообщение # 2 | Тема: Вопрос - Ответ (Game Maker)
постоянный участник
Сейчас нет на сайте
Цитата t111 ()
решил проблему , дополнив к point distance фун-ю collision line, прикрепив к врагу линии с обоих сторон, которые начинались с точки относительно его x,y . Линия х слева заканчивалась в точке х-300, справа х+300. В какую линию попадал я, в ту сторону враг и разворачивался и стрелял...

Я сделал сначала также ,но потом изменил код на этот:
Цитата
if distance_to_object(objPlayer)>200 {KEY_SHOOT_CHARGE=1}

if !collision_line(x,y,objPlayer.x,y,obj_Block,0,0) and y>objPlayer.y-10 and y<objPlayer.y+10 and grounded{
if distance_to_object(objPlayer)>200 {if Buster_3=1{KEY_SHOOT=1}else{KEY_SHOOT=0}}
if distance_to_object(objPlayer)<=200{KEY_SHOOT=1}
}else{KEY_SHOOT=0}


KEY_SHOOT - это стрельба , а KEY_SHOOT_CHARGE- это заряд бустера(как в мегамэне)
А разворот еще проще:
Цитата

if KEY_SHOOT=1{
KEY_SHOOT_CHARGE=0
KEY_LEFT=0
KEY_RIGHT=0
KEY_JUMP=0
if x>objPlayer.x{image_xscale=-1}else{image_xscale=1}}


Я делал моба , как игрока , дав новые условия тем же переменным.





Мой проект


Сообщение отредактировал Krosos - Пятница, 29 Ноября 2013, 03:23
KrososДата: Пятница, 29 Ноября 2013, 03:14 | Сообщение # 3 | Тема: проверка косания
постоянный участник
Сейчас нет на сайте
mouse_x и mouse_y , кажется.




Мой проект
KrososДата: Среда, 27 Ноября 2013, 17:27 | Сообщение # 4 | Тема: Game Maker studio standart, как получить бесплатно ключ
постоянный участник
Сейчас нет на сайте
А есть информация по поводу этого ключа: что он дает , что позволяет?




Мой проект


Сообщение отредактировал Krosos - Среда, 27 Ноября 2013, 17:27
KrososДата: Понедельник, 25 Ноября 2013, 15:04 | Сообщение # 5 | Тема: Прошу помощи
постоянный участник
Сейчас нет на сайте
Забудь про эту глупую константу, как гравитация.
Вот код:
Create:
Код
vsp=0


step:
Код
if !place_free(x,y+1){grounded=1}else{grounded=0} //Если под игроком что-то есть - то grounded=1 иначе grounded=0

if !grounded {vsp+=1} //Если игрок не на земле (то есть в воздухе) , то к переменной всп(Вертикальная скорость) прибавить 1 (Это типа гравитация)

if !place_free(x,y+vsp) and vsp!=0{ //Следующий код прижимает игрока к потолку(Чтобы не застрять в нем)
while place_free(x,y+sign(vsp)) {y+=sign(vsp)}
vsp=0
}

if !place_free(x,y+vsp) and vsp>0{ //Следующий код прижимает игрока к земле(Чтобы не застрять в ней)
cc=vsp+1;
while place_free(x,y+1) and cc>=0 {y+=1}
grounded=1;
vsp=0;
}





Мой проект


Сообщение отредактировал Krosos - Понедельник, 25 Ноября 2013, 15:05
KrososДата: Суббота, 23 Ноября 2013, 00:47 | Сообщение # 6 | Тема: Платформер
постоянный участник
Сейчас нет на сайте
На , дарю.
Однажды было очень скучно и налепил приблизительный аналог мегамена ,переделав другой платформер.
Кнопки X Z D , кажется, и стрелки.
Игра





Мой проект


Сообщение отредактировал Krosos - Суббота, 23 Ноября 2013, 00:47
KrososДата: Среда, 13 Ноября 2013, 01:29 | Сообщение # 7 | Тема: d3d_vertex_texture_color
постоянный участник
Сейчас нет на сайте
А точно , что-то я тупанул на ночь.Все z равны +16 - это значит крышка.
Попытался я понять , но выглядит сложновато пока для меня...





Мой проект
KrososДата: Вторник, 12 Ноября 2013, 04:35 | Сообщение # 8 | Тема: d3d_vertex_texture_color
постоянный участник
Сейчас нет на сайте
Я мог бы попытаться помочь или подумать , но я не использую 3Д и поэтому не понимаю суть проблемы..
Пока я понял только то , что сторона 0 - это крышка.
Почему там 6 вертексов?
Вроде 4 же должно быть , если использовать мои поверхностные познания из 3Д макса





Мой проект
KrososДата: Пятница, 08 Ноября 2013, 23:26 | Сообщение # 9 | Тема: 2 Вопроса про скрипты
постоянный участник
Сейчас нет на сайте
LunarPixel, спасибо большое!




Мой проект
KrososДата: Пятница, 08 Ноября 2013, 19:05 | Сообщение # 10 | Тема: 2 Вопроса про скрипты
постоянный участник
Сейчас нет на сайте
1.Как использовать argument (без цифр) , что он вообще означает?
2.Как правильно прописывать код типа: path=scr_ex() , и можно не большой пример кода , если не трудно...





Мой проект
KrososДата: Пятница, 08 Ноября 2013, 19:02 | Сообщение # 11 | Тема: сверху вниз.
постоянный участник
Сейчас нет на сайте
Легкотня это...

if ontop and place_meeting(x,y+1,obj) and keyboard_check_pressed(vk_down){
ontop=0
down_moving=1
}

if down_moving=1{
y+=1
if !place_meeting(x,y,obj){down_moving=0 ondown=1}
}

if ondown and place_meeting(x,y-1,obj) and keyboard_check_pressed(vk_up){
ondown=0
up_moving=1
}

if up_moving=1{
y-=1
if !place_meeting(x,y,obj){up_moving=0 ontop=1}
}

Дальше надеюсь сам сделаешь свое управление для состояний ontop и ondown





Мой проект
KrososДата: Пятница, 08 Ноября 2013, 15:05 | Сообщение # 12 | Тема: сверху вниз.
постоянный участник
Сейчас нет на сайте
LetsOffBrains, ага , точняк!
А что сложного?Просто сделай 3 состояния.
Первое , если сверху или второе если снизу , а третье если при спуске или подъеме и переключай их в зависимости от местонахождения.





Мой проект
KrososДата: Пятница, 08 Ноября 2013, 05:36 | Сообщение # 13 | Тема: сверху вниз.
постоянный участник
Сейчас нет на сайте
Не скажу я - не скажет никто...
Картинка не ясна , вопрос тоже...
Поправь ...
Это вообще вид сверху или сбоку?





Мой проект
KrososДата: Пятница, 08 Ноября 2013, 03:04 | Сообщение # 14 | Тема: Создание ячеек с учетом местности.
постоянный участник
Сейчас нет на сайте
Ну я использовал вот такую часть кода:

Код
if argument5=1{
steps=global.SP[target.O]+1
if steps>2{
for (i=0 ;i<=path_get_number(tile_path);i+=1){
if place_meeting(path_get_point_x(tile_path,i),path_get_point_y(tile_path,i),difficult_terrain_1){
steps-=0.5
}
if place_meeting(path_get_point_x(tile_path,i),path_get_point_y(tile_path,i),difficult_terrain_2){
steps-=1
}}
if path_get_number(tile_path)>round(steps){instance_destroy()}
}}}}}


И сразу же заметил один неприятный косяк=(
Раньше я не придавал значения этому , потому что такой способ перемещения не планировался , но теперь это стало очень важным...
На скриншоте синими цифрами показано , насколько уменьшился путь до ячеек из-за местности , а красными линиями выделены пути.
Из-за такого поиска пути , некоторые ячейки удалились , когда они могли быть достигнуты...
Что можно с этим сделать?
Я смотрел волновой алгоритм , но там ,кажется , тоже самое...
Смотрел А стар , но там вылетают какие-то непонятные ошибки...

Добавлено (08.11.2013, 03:04)
---------------------------------------------
Опять я сам решил свою проблему...
Подошел волновой алгоритм , но не тот , что я нашел до этого!
Тот вообще был нисколько не ясным , поэтому я использовал другую основу и довел до того , что мне нужно.
Пример





Мой проект
KrososДата: Суббота, 02 Ноября 2013, 18:03 | Сообщение # 15 | Тема: Вопрос , про медленный поворот объекта.
постоянный участник
Сейчас нет на сайте
LunarPixel, Спасибо!




Мой проект
KrososДата: Пятница, 01 Ноября 2013, 12:06 | Сообщение # 16 | Тема: Вопрос , про медленный поворот объекта.
постоянный участник
Сейчас нет на сайте
Посмотри еще раз , там ,вроде, все правильно у меня./
И не в этом суть вопроса.





Мой проект
KrososДата: Четверг, 31 Октября 2013, 23:01 | Сообщение # 17 | Тема: Вопрос , про медленный поворот объекта.
постоянный участник
Сейчас нет на сайте
Самый частый пример такого - это турель.
Вот ее примерный код:

direction=round(direction)
if point_direction(x,y,Player.x,Player.y)!=direction{
if point_direction(x,y,Player.x,Player.y)>direction{direction+=2}else{direction-=2}
}
Вроде нормально , но возникает проблема.=(
Когда , например , поинтдирешен равен 350 , а дирекшен равен 30 , то поворот пойдет по часовой стрелке , а не против часовой , то есть ,нелогично.
Что тут можно сделать?





Мой проект
KrososДата: Четверг, 31 Октября 2013, 17:03 | Сообщение # 18 | Тема: Пара вопросов по гм 8.1
постоянный участник
Сейчас нет на сайте
Какой-то странный код...
Вот код движения по горизонтали:
По вертикали тот же самый , но для оси y

KEY_RIGHT=keyboard_check(vk_right)
KEY_LEFT=keyboard_check(vk_left)

if (KEY_RIGHT) {hsp=8 image_xscale=1}
if (KEY_LEFT) {hsp=-8 image_xscale=-1}

if !KEY_RIGHT and !KEY_LEFT {hsp=0}
if !place_free(x+hsp,y){
if hsp!=0{
while place_free(x+sign(hsp),y){x+=sign(hsp)}
hsp=0
}}

x+=hsp





Мой проект


Сообщение отредактировал Krosos - Пятница, 01 Ноября 2013, 12:08
KrososДата: Пятница, 25 Октября 2013, 14:16 | Сообщение # 19 | Тема: Переменная в переменной
постоянный участник
Сейчас нет на сайте
Ну , это вроде не совсем то
Я сейчас сделал вот так:(Вроде работает.Я надеюсь...)

Код
for (A=1;A<=4;A+=1){
if global.Debuff_Attack[A,O]=1{
global.Debuff_Attack[A,O]=0
switch A{
case 1: X=global.AT[O] break
case 2: X=global.DF[O] break
case 3: X=global.IN[O] break
case 4: X=global.SP[O] break
}

if (X+global.Debuff[A,O]-global.Buff[A,O])<=global.Debuff_Power[A,O]
{global.Debuff_Power[A,O]=X+global.Debuff[A,O]-global.Buff[A,O]}

if global.Debuff[A,O]<=global.Debuff_Power[A,O]  
{
X+=global.Debuff[A,O]
global.Debuff[A,O]=global.Debuff_Power[A,O]  
X-=global.Debuff[A,O]
global.Debuff_Time[A,O]=global.Debuff_Available_Time[A,O]

switch A{
case 1: global.AT[O]=X break  
case 2: global.DF[O]=X break
case 3: global.IN[O]=X break
case 4: global.SP[O]=X break
}
}


Спасибо за внимание и помощь.





Мой проект
KrososДата: Пятница, 25 Октября 2013, 13:46 | Сообщение # 20 | Тема: Переменная в переменной
постоянный участник
Сейчас нет на сайте
Ну..
Примерно так:
switch A
case 1: XXX=global.AT[O] break
case 2: XXX=global.DF[O] break
case 3: XXX=global.IN[O] break
case 4: XXX=global.SP[O] break
case 5: XXX=global.HP[O] break
.........
if (XXX+global.Debuff[A,O]-global.Buff[A,O])<=global.Debuff_Power[A,O]
{
global.Debuff_Power[A,O]=XXX+global.Debuff[A,O]-global.Buff[A,O]
}
XXX должен являться переменной ,а не числом.





Мой проект


Сообщение отредактировал Krosos - Пятница, 25 Октября 2013, 13:47
Форум игроделов » Записи участника » Krosos [407]
  • Страница 1 из 21
  • 1
  • 2
  • 3
  • 20
  • 21
  • »
Поиск:

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