On-line: гостей 0. Всего: 0 [подробнее..]
АвторСообщение





Пост N: 274
Зарегистрирован: 26.06.07
Откуда: Россия, Владивосток

Награды: GameCreator - Писатель!Неутомимый GameCreator!!!
ссылка на сообщение  Отправлено: 03.01.09 00:07. Заголовок: [Game Maker] Драв лайн


В общем меня интерисует как с помощью этой штуки сделать лазер с отражением от стен или еще каких нибудь предметов

Думать лень мож кто знает


Спасибо: 0 
ПрофильЦитата Ответить
Ответов - 18 [только новые]







Пост N: 500
Зарегистрирован: 07.05.07
Откуда: Россия, Орехово-Зуево
ссылка на сообщение  Отправлено: 03.01.09 00:41. Заголовок: Эм...Если я так поня..


Эм...Если я так понял, то тебе нужен закон отражения, типа под каким углом линия идет, под таким углом и оражается..да?:)

Спасибо: 0 
ПрофильЦитата Ответить





Пост N: 275
Зарегистрирован: 26.06.07
Откуда: Россия, Владивосток

Награды: GameCreator - Писатель!Неутомимый GameCreator!!!
ссылка на сообщение  Отправлено: 03.01.09 00:45. Заголовок: Типа того)..


Типа того)


Спасибо: 0 
ПрофильЦитата Ответить





Пост N: 501
Зарегистрирован: 07.05.07
Откуда: Россия, Орехово-Зуево
ссылка на сообщение  Отправлено: 03.01.09 00:47. Заголовок: А. Ну..сейчас может ..


А. Ну..сейчас может быть что-нибудь попробую сделать..если так все понял:) только на ночь глядя может выйти и туфта какая-нибудь

Спасибо: 0 
ПрофильЦитата Ответить





Пост N: 276
Зарегистрирован: 26.06.07
Откуда: Россия, Владивосток

Награды: GameCreator - Писатель!Неутомимый GameCreator!!!
ссылка на сообщение  Отправлено: 03.01.09 01:00. Заголовок: хм у меня наночь обы..


хм у меня наночь обычно наоборот прет) тока там с пояснениями чтоб я понял)


Спасибо: 0 
ПрофильЦитата Ответить





Пост N: 502
Зарегистрирован: 07.05.07
Откуда: Россия, Орехово-Зуево
ссылка на сообщение  Отправлено: 03.01.09 01:04. Заголовок: Не знаю то это аль н..


Не знаю то это аль нет..но вот это я нашел в одном из своих проектов (это я скопировал из какого-то исходника):

Создаешь скрипт ХХХ.
Пишешь там:
var i,j;
i=abs(argument0-argument1);
j=360-max(argument0,argument1)+min(argument0,argument1);
if i=j return(180) else
if i<j return(sign(-lengthdir_y(1,argument1-argument0))*i);
else return(sign(-lengthdir_y(1,argument1-argument0))*j);

Потом создаешь объект, который отражается. В событии столкновения с объектом, ОТ КОТОРОГО отражатеся пишешь:

var dir,k;
dir=XXX(other.direction,direction); //show_message(string(dir));
k=sign(lengthdir_x(1,dir)*(-lengthdir_y(1,dir)));if k=0 then k=1;
direction=direction+k*180-k*min(abs(dir),180-abs(dir))*2;
/*if colid!=id then
{
if other.direction<(direction+90) and other.direction>(direction-90) then
{
instance_destroy()
}
else
{
direction=other.direction;
colid=other.id;
alarm[0]=10;
}
}

__________________________________________________
Точно не помню с какого примера взял, но пример вроде с миззустика был:) Это поможет создать правдободобный более менее закон отражения. А если ты заменишь объект, который отражается, линией, то и отражатся линия будет..Примерно так:)

Спасибо: 0 
ПрофильЦитата Ответить





Пост N: 277
Зарегистрирован: 26.06.07
Откуда: Россия, Владивосток

Награды: GameCreator - Писатель!Неутомимый GameCreator!!!
ссылка на сообщение  Отправлено: 03.01.09 01:19. Заголовок: сейчас попробую...а ..


Нет это немного нето.... что же придется самому думать....позже, посплю ато у меня уже пол 9 утра


Спасибо: 0 
ПрофильЦитата Ответить



Пост N: 1708
Зарегистрирован: 03.06.06
Откуда: Россия, Санкт-Петербург

Замечания: То, что тебя приняли в геймдев-студию, ещё не делает тебя профессионалом.
ссылка на сообщение  Отправлено: 03.01.09 02:43. Заголовок: Учебник по физике и ..


Учебник по физике и ффперёд, магийо синусофф и косинусофф)))





I live! Again!
Спасибо: 0 
ПрофильЦитата Ответить





Пост N: 380
Зарегистрирован: 06.08.06
Откуда: Беларусь, Гродно
ссылка на сообщение  Отправлено: 03.01.09 02:48. Заголовок: А почему бы не сдела..


А почему бы не сделать объект из центра которого появляются другие объекты-точки (цвета лазера). Эти точки исчезают через полсекунды. Объект куда легче заставить отражаться. Всётаки в стандартных действиях есть.

ПРИМЕР (gm6)
http://realgames.org.ru/lazer.gm6

Спасибо: 0 
ПрофильЦитата Ответить





Пост N: 279
Зарегистрирован: 26.06.07
Откуда: Россия, Владивосток

Награды: GameCreator - Писатель!Неутомимый GameCreator!!!
ссылка на сообщение  Отправлено: 03.01.09 13:18. Заголовок: http://zuko.sk6.ru/f..



вот такую штуку мне нужно замутить


Спасибо: 0 
ПрофильЦитата Ответить
New Art Games
дизайнер, сценарист




Пост N: 2071
Зарегистрирован: 19.09.05
Откуда: Россия

Награды: Мега GameCreator со стажем!
ссылка на сообщение  Отправлено: 03.01.09 13:52. Заголовок: так как поверхность ..


так как поверхность может быть наклонной, то просчитать точное отражение не получится, так как перпендикуляр от поверхности сложно будет вычеслить.
на помощь думаю может подойти следующая фича:

1---из обьекта пускающего лазерный луч запускаетццо шарик (создали отметку 1 в лазере)
в нужную сторону с большой скоростью..

2---при сталкновении шарика с границей (создали отметку 2) рисуем линию от отметки 1 к 2.
3---отметке 1 присваиваем 2 (1.х=2.х, 1.у=2.у)
4---пока не дошли до конца или не прошли нужное растояние выполняем 2 и 3

так как в ГМ отскок обьектов выполняется довольнотаки провдоподобно (в гм плоскость спрайта и перпендикуляр сам считается как надо) то отражение будет точным
если объяснил непонятно могу пример сваять =)

Парень бегает за девчонкой, пока она его не поймает Спасибо: 0 
ПрофильЦитата Ответить
New Art Games
дизайнер, сценарист




Пост N: 2072
Зарегистрирован: 19.09.05
Откуда: Россия

Награды: Мега GameCreator со стажем!
ссылка на сообщение  Отправлено: 03.01.09 13:55. Заголовок: а.. ещё =) если же э..


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

Парень бегает за девчонкой, пока она его не поймает Спасибо: 0 
ПрофильЦитата Ответить





Пост N: 280
Зарегистрирован: 26.06.07
Откуда: Россия, Владивосток

Награды: GameCreator - Писатель!Неутомимый GameCreator!!!
ссылка на сообщение  Отправлено: 03.01.09 15:19. Заголовок: Первый вариант прихо..


Первый вариант приходил мне в голову но вот придется каждый шаг выстреливать шарик...


-поверхность ровная..

Нужно проверять

пока хх не равно х желтой точки и уу не равно у желтой точки
{
номер+=1

пока не стена
{
хх+=косинус(угол)
уу+=синус(угол)
}
вэйпоинтХ[номер]=хх
вэйпоинтУ[номер]=уу

вот первый вэйпоинт есть потом надо само отражение просчитать както

}


Спасибо: 0 
ПрофильЦитата Ответить
New Art Games
дизайнер, сценарист




Пост N: 2073
Зарегистрирован: 19.09.05
Откуда: Россия

Награды: Мега GameCreator со стажем!
ссылка на сообщение  Отправлено: 03.01.09 17:23. Заголовок: вобщем посмотрел я с..


вобщем посмотрел я с отстрелом шариков, некатит. так как скорость маленькая очень
а если скорость движения шариков увеличить то начинаются проблемы со столкновением.
а именно последние не регистрируется
вечерком гляну с прямыми стенками что можно придумать

Парень бегает за девчонкой, пока она его не поймает Спасибо: 0 
ПрофильЦитата Ответить





Пост N: 325
Зарегистрирован: 21.04.07
Откуда: Россия, город Волосат
ссылка на сообщение  Отправлено: 03.01.09 17:46. Заголовок: Ev-genius пишет: а ..


Ev-genius пишет:

 цитата:
а если скорость движения шариков увеличить то начинаются проблемы со столкновением.


может тогда коллижон_лайн юзать?..

В каждой правде есть доля шутки...(Д.В.Юртаев) Спасибо: 0 
ПрофильЦитата Ответить
New Art Games
дизайнер, сценарист




Пост N: 2074
Зарегистрирован: 19.09.05
Откуда: Россия

Награды: Мега GameCreator со стажем!
ссылка на сообщение  Отправлено: 03.01.09 20:08. Заголовок: на счёт колижн лайн,..


на счёт колижн лайн, всё было бы немного проще если бы функция возвращала х,у координат пересечения =)
или хотябы длину получившейся линии. но так как этого нет пришлось проверять каждый пиксель...
несмотря на это работает очень шустро и при 20-30 просчётов отражений =)
правда мой пример работает только для горизонтальных и вертикальных стен, для наклонных нужно будет чтото другое придумать или доработать пример под конкретную задачу

как обычно немного увлекся и помимо решения напихал туда ещё кучу ненужности, зато нагляднее в примере будет


Ссылку забыл:
Клик

Парень бегает за девчонкой, пока она его не поймает Спасибо: 1 
ПрофильЦитата Ответить
New Art Games
дизайнер, сценарист




Пост N: 2075
Зарегистрирован: 19.09.05
Откуда: Россия

Награды: Мега GameCreator со стажем!
ссылка на сообщение  Отправлено: 03.01.09 20:43. Заголовок: Spider пишет: Всёта..


Spider пишет:

 цитата:
Всётаки в стандартных действиях есть.
ПРИМЕР (gm6)
http://realgames.org.ru/lazer.gm6


кстати про это и говорил, если в примере спайдера увеличить скорость на 9,10....15...итд (у меня например) то отражения получаются совсем непредсказуемыми =)
увеличив на 20, отражений совсем нету..

в моем примере точность до 1 пикселя, а именно на углах в последнем пикселе обьекта, проблемки с просчётом иногда бывают, может кто апдейтит, гляньте

Парень бегает за девчонкой, пока она его не поймает Спасибо: 0 
ПрофильЦитата Ответить





Пост N: 282
Зарегистрирован: 26.06.07
Откуда: Россия, Владивосток

Награды: GameCreator - Писатель!Неутомимый GameCreator!!!
ссылка на сообщение  Отправлено: 03.01.09 21:11. Заголовок: Ev-geniusмолодец пря..


Ev-genius
молодец прям то что нужно сделал уважуха.... спасибо большое

.......................

Разобрался в скрипте полностью у тебя офигенный мозг сам бы я такое дня три думал)
Спасибо еще раз)

поправил правда первые две строчки)

dir=point_direction(x,y,mouse_x,mouse_y);//угол поворота
wx=cos(degtorad(dir));//x на который выполнять проверку
wy=sin(degtorad(dir));//y на который выполнять проверку
вместо
dir=point_direction(mouse_x,mouse_y,x,y)-180;
wx=cos(dir*pi/180);
wy=sin(dir*pi/180);

выложи пример на мизистик


Спасибо: 0 
ПрофильЦитата Ответить
New Art Games
дизайнер, сценарист




Пост N: 2076
Зарегистрирован: 19.09.05
Откуда: Россия

Награды: Мега GameCreator со стажем!
ссылка на сообщение  Отправлено: 04.01.09 00:04. Заголовок: Да незачто, просто и..


Да незачто, просто интересно чтото необычное реализовать
на счёт исправлений, в хелпе ГМ вроде описано всё, просто не всегда замечаешь нужные функции
да и сам бывает тормозишь, вон вижу у себя -180,
а достаточно было операнды местами поменять)))))
Коменты правда забыл, да и лишнего туда налепил, половина вообще не нужна =)
ток выкладывать куда либо лень, пока это дело лежит у меня на нм, еще старые примерчики найду снова выложу, пригодятся может кому

Парень бегает за девчонкой, пока она его не поймает Спасибо: 0 
ПрофильЦитата Ответить
Ответ:
1 2 3 4 5 6 7 8 9
видео с youtube.com картинка из интернета картинка с компьютера ссылка файл с компьютера русская клавиатура транслитератор  цитата  кавычки оффтопик свернутый текст

показывать это сообщение только модераторам
не делать ссылки активными
Имя, пароль:      зарегистрироваться    
Тему читают:
- участник сейчас на форуме
- участник вне форума
Все даты в формате GMT  3 час. Хитов сегодня: 0
Права: смайлы да, картинки да, шрифты нет, голосования нет
аватары да, автозамена ссылок вкл, премодерация откл, правка нет