Вторник, 23 Апреля 2024, 10:57

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

[ Новые сообщения · Игроделы · Правила · Поиск ]
Форум игроделов » Записи участника » Krosos [407]
Результаты поиска
KrososДата: Понедельник, 01 Июля 2013, 20:23 | Сообщение # 361 | Тема: Как заставить объект вращаться во время своего пути?
постоянный участник
Сейчас нет на сайте
maxon123, не запускается =(
Я использую 8.0 ,а 8.1 у меня идет коряво...
Скинь коды, я в них разберусь





Мой проект
KrososДата: Понедельник, 01 Июля 2013, 00:41 | Сообщение # 362 | Тема: Как заставить объект вращаться во время своего пути?
постоянный участник
Сейчас нет на сайте
Fade, уже менял , я там много перепробовал-не помогло=(




Мой проект
KrososДата: Воскресенье, 30 Июня 2013, 23:34 | Сообщение # 363 | Тема: Вопрос - Ответ (Game Maker)
постоянный участник
Сейчас нет на сайте
Как проверить наличие объектов обладающих некой переменной в неком радиусе?
Например
Есть объекты: O , D , I

O проверяет есть ли рядом в радиусе 250 объект с переменной UE=1 , если есть то UU=1 , если нету то UU=0.
D UE=0
I UE=1





Мой проект
KrososДата: Воскресенье, 30 Июня 2013, 23:28 | Сообщение # 364 | Тема: Как заставить объект вращаться во время своего пути?
постоянный участник
Сейчас нет на сайте
Вот такой код.(Часть кода)
Код

if mp_grid_path(global.Moving_mpgrid,path_combat,x+0,y+0,global.currenttile.x,global.currenttile.y,false)= true
  {
path_start(path_combat,10,0,false)

Путь составляется сам и объект движется то вверх - то вниз.
Но он должен еще и поворачивать свой спрайт и предлагается вот такой скрипт:
direction=image_angle - естественно у меня он нифига не работает....





Мой проект
KrososДата: Воскресенье, 30 Июня 2013, 15:09 | Сообщение # 365 | Тема: Вопрос - Ответ (Game Maker)
постоянный участник
Сейчас нет на сайте
sayran, Через постоянные переменные
Ах , как мне лень все объяснять , просто писец !
Короче вот пример , там думаю все понятно...
123132.gmk





Мой проект
KrososДата: Воскресенье, 30 Июня 2013, 12:40 | Сообщение # 366 | Тема: Вопрос - Ответ (Game Maker)
постоянный участник
Сейчас нет на сайте
Ну тогда я вот ,что намутил...
move_contact_solid(direction,60)
if collision_rectangle(id.x-24,id.y-24,id.x+24,id.y+24,object1,0,1){ //Выделяем пулю прямоугольником ,48 на 48 ,и если этот прямоугольник задевает объект 1 , то пуля удаляется.
instance_destroy()
}





Мой проект
KrososДата: Воскресенье, 30 Июня 2013, 12:22 | Сообщение # 367 | Тема: Вопрос - Ответ (Game Maker)
постоянный участник
Сейчас нет на сайте
Sanchez06, как же я задолбался=)
move_contact_solid(direction,30); - дело в этом коде!
Может попробовать использовать другой код?
Например:
speed=20 //Всегда действующая скорость
direction=0 //Дирекция , можно сделать так direction=point_direction(x,y,mouse_x,mouse_y) -стреляет туда где курсор или direction=player.direction - стреляет туда , куда направлен спрайт игрока (Вроде так , но не уверен)





Мой проект
KrososДата: Воскресенье, 30 Июня 2013, 11:52 | Сообщение # 368 | Тема: Вопрос - Ответ (Game Maker)
постоянный участник
Сейчас нет на сайте
Sanchez06, Код или скриншот(Действий), пожалуйста, а то не очень понятно..




Мой проект
KrososДата: Воскресенье, 30 Июня 2013, 08:27 | Сообщение # 369 | Тема: Вопрос - Ответ (Game Maker)
постоянный участник
Сейчас нет на сайте
Shevron_7, а какой код?
А то не очень понятно...



Добавлено (30.06.2013, 08:27)
---------------------------------------------
Еще одна проблема...
Почему в родитель не добавляет в списки второе число!?
Step: (родитель)
Код
if global.Phase1=1   
{
if UnitSpeed[O]>=100   
{
ds_list_add(global.turn,UnitSpeed[O])
ds_list_add(global.turn2,O)
global.Phase1=0
}
if UnitSpeed[O]<100   
{
UnitSpeed[O]+=D
}
}

В списке я вижу только первое ,а он должен был внести 2 одинаковых числа от двух юнитов так, как у них одинаковое число D и UnitSpeed[O]
(Проблема заключается в том, что юнит 1 очень далеко убегает по скорости от второго , когда скорость у них одинаковая!)





Мой проект


Сообщение отредактировал Krosos - Воскресенье, 30 Июня 2013, 11:30
KrososДата: Четверг, 27 Июня 2013, 22:06 | Сообщение # 370 | Тема: Вопрос - Ответ (Game Maker)
постоянный участник
Сейчас нет на сайте
Ошибки нету , просто скрипт не срабатывает.
Возможно не создается список или он не заносится или не удается сравнить число с переменной.
Но в скрипте у меня все в порядке , проблемы могут заключаться только в тех строках.
ds_list_add(global.turn,UnitSpeed[O] - работает точно , потому что вместе с ним срабатывает и переменная(Ну я могу ее увидеть через Draw)
if UnitSpeed[O]=ds_list_find_value(global.turn,1){global.Unit[O]=1 } - не срабатывает , переменная global.Unit[O]=1 не работает.
(Через клавиши изменял эту переменную и она оказалась правильной, значит с ней все должно быть в порядке)
global.turn=ds_list_create()-создается в другом объекте в Create , возможно и является проблемой
ds_list_find_value(global.turn,1)- Draw говорит , что это число всегда равно нулю , значит возможно в список число не заносится.





Мой проект
KrososДата: Четверг, 27 Июня 2013, 21:58 | Сообщение # 371 | Тема: Список
постоянный участник
Сейчас нет на сайте
Уайльд, Может попробовать использовать 3D модели , превращая их в 2D.(Мне бы это показалось проще , чем рисовать)
Все думают 3D max трудный , но на самом деле он очень простой.Сначала надо создать что-нибудь , а потом на камеру двигать модель и скриншотить ,а
потом просто обрезать модель от черного фона(Ну надо скриншотить на черном фоне).
Где-то я кажется видел функцию в 2D , то есть сриншотить не надо , он сам все делает , но возможно мне показалось- я ее не использовал ,и давно это было.(в блендере)





Мой проект


Сообщение отредактировал Krosos - Четверг, 27 Июня 2013, 21:59
KrososДата: Четверг, 27 Июня 2013, 21:22 | Сообщение # 372 | Тема: Вопрос - Ответ (Game Maker)
постоянный участник
Сейчас нет на сайте
Не катит этот код:
Код

global.turn=ds_list_create() //Создан в другом объекте в пункте создания.(Проблема возможна даже тут...)
........
ds_list_sort(global.turn,false) //Используется в степе при некотором условии.
........
ds_list_add(global.turn,UnitSpeed[O] //Должен работать правильно , он должен внести число(Скорость) в список (но возможно не работает)
.......
if UnitSpeed[O]=ds_list_find_value(global.turn,1)  {  //Если первое число в списке равно числу(Скорости) у этого объекта , то ему можно ходить.Проблема тут , но ее вроде бы и не должно быть (Проверял другими условиями)
global.Unit[O]=1
}

Почему не получается?
Вывести ds_list_find_value(global.turn,1) в Draw не получилось- число было равно нулю , а вот UnitSpeed[O] удалось ,и все было в порядке с ним.





Мой проект


Сообщение отредактировал Krosos - Четверг, 27 Июня 2013, 21:29
KrososДата: Понедельник, 24 Июня 2013, 18:41 | Сообщение # 373 | Тема: Списки
постоянный участник
Сейчас нет на сайте
jone157, ох , мне бы самому этот код=) Вот что-то подобное , я изменил немного свой код и теперь использую родителя:
1) o_p(объект- родитель),O1,O2,O3 (Другие 3 объекта) , C_1(Объект списка)
2)o_p
Step:
Код
if global.SpeedtGo=1 //Если эта переменная равна 1 то можно считать:
{
if UnitSpeed[O]>100 //Если скорость одного из трёх объектов набила больше 100
{
ds_list_add(global.turn,global.UnitSpeed[O]) //Число у объекта ,которому оно принадлежит, попадает в список
global.CombatGo=0 //Счет скорости-прекратить (Пусть пока тут поваляется)
}else        
{
global.UnitSpeed[O]+=D //Если скорость меньше 100 , то прибавить к ней скорости (т.е. было 10 +10 стало 20 , было 20 + 10 , стало 30 и так, пока не будет 100)
}
}

3)C_1:
Create:
Код
global.CombatGo=1 //начать счет скорости
global.turn=ds_list_create() //Создать лист


Step:
Код
if global.CombatGo=0 { //Если счет скорости прекратился
ds_list_sort(global.turn,false) //Отсортировать лист по убыванию

}
4)Список отсортировался
5)А дальше у меня не получается

O1:
Код
Create:
O=1
UnitSpeed[O]=10
D=UnitSpeed[O]


O2:
Код
Create:
O=2
UnitSpeed[O]=8
D=UnitSpeed[O]


O3:
Create:
Код
O=3
UnitSpeed[O]=10
D=UnitSpeed[O]


Добавлено (24.06.2013, 18:41)
---------------------------------------------
У меня возникла идея!=)
Но блин голова вообще не работает после работы...
Я думаю после 4 пункта надо сделать следующее
ds_list_find_value(global.turn,1) //Вывсети из списка первое число
У родителя:
Step:

Если например у нас два объекта набрали одинаковую скорость , тогда сначала ходит тот объект , чей O=1 , а потом тот чей O=2. (Может кто-нить подсказать как это сделать?)
В итоге:

Если global.UnitSpeed[O]=первому числу из списка and global.UnitCanMove[O]=1 //global.UnitCanMove[O]=1 - переменная позволяющая игроку ходить
Сначала идет global.UnitCanMove[1]=1 далее global.UnitCanMove[2]=1 (Но его число не достигло больше сотни - значит он ходить не будет) global.UnitCanMove[3]=1 (Ходит после того , как первый объект закончит ход)
O кончились
7)ds_list_delete(global.turn,1) //Первое число из списка удаляется!
ds_list_sort(global.turn,false)
Ну и все=) далее уже нормально должно идти...





Мой проект


Сообщение отредактировал Krosos - Понедельник, 24 Июня 2013, 19:03
KrososДата: Понедельник, 24 Июня 2013, 17:18 | Сообщение # 374 | Тема: Вопрос - Ответ (Game Maker)
постоянный участник
Сейчас нет на сайте
sayran,
Это было очень просто.
demo2.gmk





Мой проект
KrososДата: Воскресенье, 23 Июня 2013, 23:46 | Сообщение # 375 | Тема: Вопрос - Ответ (Game Maker)
постоянный участник
Сейчас нет на сайте
Да помогут тебе переменные!=)
1)Создаем левый объект!Пофиг какой!И ставим его постоянным.(Это постоянный объект , можно переносить хп игрока на другую комнату , очки , и прочее , а мы будем переносить переменные!В данном случае мы перенесем переменные одной двери)
2)В меню переменной ставим родителя-дверь.
3)В скрипте двери:
room_goto(room2)
global.Room[2]=1 //Вторая комната началась
global.Room[1]=0 //Первая комната кончилась
4)Скрипт у бека:
if global.Room[1]=1{room_goto (room1)} //Если комната 1 , то мы идем в комнату 1
if global.Room[2]=1{room_goto (room2)} //Если комната 2 , то мы идем в комнату 2
5)Скрипт Play:
global.Room[1]=1 //Началась первая комната

Ну это простота
В настройках поставь , чтобы все неопознанные переменные стали равны нулю , или сам их расставляй.
Мне лично лучше , чтобы они автоматически изначально стали равны нулю.

О родителе:
Родитель взял на себя все переменные двери , у него произошел такой же код:
global.Room[2]=1 //Вторая комната началась
global.Room[1]=0 //Первая комната кончилась
Но , только он стал постоянным , на все комнаты , а у двери остался только действующий на свою комнату.

Добавлено (23.06.2013, 23:46)
---------------------------------------------
О загрузках:
Поставь в скрипте кнопки у игрока game_load(Имя сохранения)
Это же так просто.
А лучше ставить 2 сохранения:
На начало комнаты , второе на быстрое(Где угодно)





Мой проект


Сообщение отредактировал Krosos - Воскресенье, 23 Июня 2013, 23:39
KrososДата: Воскресенье, 23 Июня 2013, 16:27 | Сообщение # 376 | Тема: Переход из одной комнаты в другую
постоянный участник
Сейчас нет на сайте
в объекте Quit ,поставь вместо
room_goto (room0)

game_restart()

Я сделал ,и все получилось





Мой проект


Сообщение отредактировал Krosos - Воскресенье, 23 Июня 2013, 16:28
KrososДата: Воскресенье, 23 Июня 2013, 15:40 | Сообщение # 377 | Тема: Переход из одной комнаты в другую
постоянный участник
Сейчас нет на сайте
А разве не должен произойти выход из игры на последней комнате?
Или она обязательно должна начинаться сначала?





Мой проект
KrososДата: Воскресенье, 23 Июня 2013, 13:11 | Сообщение # 378 | Тема: Переход из одной комнаты в другую
постоянный участник
Сейчас нет на сайте
А разве рестарт игры в последней комнате не срабатывает?
Ну тогда game_end() ?





Мой проект
KrososДата: Воскресенье, 23 Июня 2013, 12:50 | Сообщение # 379 | Тема: Списки
постоянный участник
Сейчас нет на сайте
Опишу проблему поподробнее:
1)Дано 2 объекта(Число их может быть любым) и 2 числа (числа получились по формуле , и постоянно меняются), например: если число стало больше 10 то оно отправляется в список.
2)Получились числа 12 и 14 ,далее они попадают в список
3)Числа сортируются
4)И вот первым стоит 14 ,а вторым 12
5)Число 14 принадлежит объекту 2 и поэтому изменяет его переменную на 1 и число удаляется из списка
6)Объект ,после некоторых манипуляций с ним, изменил свою переменную на 0 и изменил другую переменную на 1 ,чтобы та продолжила действия со списком (Ну например global.Next=1)
7)Далее список снова выбирает первое число в нем и так , как число 14 удалилось - осталось 12 и оно становится первым
8)Число 12 изменяет переменную своего объекта , которому оно принадлежало на 1 и удаляется из списка
9)Объект ,после некоторых манипуляций с ним, изменил свою переменную на 0 и изменил другую переменную на 1 ,чтобы та продолжила действия со списком
10)Список вновь заносит в себя новые числа уже от 4 других объектов и происходят аналогичные действия.

(Подобный список я уже видел в одном исходнике , но там числа не изменялись , но их можно было изменить в настройках.Исходник был очень трудный и понять его было очень трудно , а также там был общий родитель для всех объектов)





Мой проект
KrososДата: Суббота, 22 Июня 2013, 22:32 | Сообщение # 380 | Тема: Переход из одной комнаты в другую
постоянный участник
Сейчас нет на сайте
Поставить галочку "Постоянный" в установках комнаты.




Мой проект
Форум игроделов » Записи участника » Krosos [407]
Поиск:

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