Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript 1.0/2.0 (http://www.flasher.ru/forum/forumdisplay.php?f=93)
-   -   прицел (http://www.flasher.ru/forum/showthread.php?t=134714)

boris1029 08.01.2010 16:54

прицел
 
драсте, у меня есть в игре оружие с лазерным прицелом. я хотел бы сделать чтобы этотлучик не пролетал сквозь обьекты в которые можно попасть.
посоветуйте чё - нить.:quiet:

deman455 08.01.2010 17:20

Советую маску. Но будет много моороки.

Zik. 08.01.2010 17:22

Если лучик не заковыристый, то можно с помощь lineTo() рисовать

boris1029 08.01.2010 17:34

а как line to() использовать?
Лучик в виде полупрозрачной палки)))

Zik. 08.01.2010 17:47

Читайте хелп

boris1029 08.01.2010 18:37

Кажется вы не так поняли, и ввели меня в заблуждение недописав название(Tool).
линию я нарисовал, проблема в другом. В моей игре этот луч проходит сквозь противника, а он не должен этого делать! Можно как- то ограничивать его размер(луча)?
Я во многих играх видел подобное.:(

iflamberg 08.01.2010 20:09

перед тем как рисовать луч, точка за точкой (можно с небольшим промежутком) проверяешь его от основания до конца на пересечение с объектом. Других способов - нет.

udaaff 08.01.2010 20:16

Возможно, это http://noregret.org/tutor/n/grid/ поможет.

apoptom22 08.01.2010 20:55

суть вопроса- лазер идет от (275,200) за мышкой и упирается в ground (произвольный нарисованный вами мувик)
просмотр

Код AS1/AS2:

onEnterFrame=function(){
t_x=275
t_y=200
mDx =_xmouse - 275;
mDy =_ymouse - 200;
ugol=Math.atan2(mDy, mDx) / Math.PI * 180;
for(i=1;i<300;i++){
t_x += 3 * Math.cos(ugol/180*Math.PI);
t_y += 3 * Math.sin(ugol/180*Math.PI);
if(ground.hitTest(t_x,t_y,true)){
i=301
}
this.createEmptyMovieClip("aa",1)
with(aa){
lineStyle(1,0xFF0000)
moveTo(275,200)
lineTo(t_x,t_y)
}
}
}


Zik. 08.01.2010 21:26

Цитата:

Кажется вы не так поняли, и ввели меня в заблуждение недописав название(Tool).
Прекрасно понял и я не имел ввиду инструмент
Я имел ввиду функцию lineTo();
iflamberg вам дописал мою мысль, сказав, что луч надо рисовать не руками, а программно и по кускам, проверяя на столкновение с другими объектами


Часовой пояс GMT +4, время: 23:25.

Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.