Форум программистов, компьютерный форум, киберфорум
ActionScript
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск  
 
 
Рейтинг 4.88/25: Рейтинг темы: голосов - 25, средняя оценка - 4.88
2 / 2 / 0
Регистрация: 22.01.2013
Сообщений: 174

Выстрел в сторону клика

10.12.2013, 16:22. Показов 4969. Ответов 30
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
создал и добавил пулю

ActionScript 3
1
2
3
4
5
6
7
var pulya:Pulka=new Pulka();
stage.addEventListener(MouseEvent.CLICK,addBullet);
function addBullet(e:MouseEvent):void{
    pulya.x=275;
    pulya.y=500;
    addChild(pulya);
}
как заставить ее лететь в сторону клика мышки? перепробовал разные варианты, что то не получается. вот пример. только там в разных файлах, я пытался засунуть все в один слой (где весь код), не получается, да и PS: if (пуля покинула границы) то removeChild(pulya);
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
10.12.2013, 16:22
Ответы с готовыми решениями:

Выстрел пули из вращающейся башни в сторону, куда направлено само дуло
как будет примерно выглядеть программный код, для реализации следующего:у меня есть танк у которой вращается башня с пушкой (реагирует на...

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

как сделать триггер клика (имитация клика)
Добрый день! У меня есть 2 менюшки на сайте с аналогичными ссылками. Пытаюсь сделать связь, чтобы при клике на ссылку например,...

30
Модератор
 Аватар для TanaTiX
2939 / 1798 / 180
Регистрация: 19.02.2011
Сообщений: 6,552
17.12.2013, 15:31
Студворк — интернет-сервис помощи студентам
Цитата Сообщение от Zhdanoff Посмотреть сообщение
правда мозги с такими операциями перестают думать
Так тогда благодарить нужно, а не возмущаться.
0
2 / 2 / 0
Регистрация: 22.01.2013
Сообщений: 174
20.12.2013, 12:38  [ТС]
Это опять я!
Есть ствол который плавно вращается на 180 градусов при перемещении курсора мыши. Есть пуля которая как бы вылетает из ствола по клику мыши и летит в сторону клика и далее, но не пойму как мне сделать так чтобы пуля летела не в сторону клика мыши, а сторону куда направлен ствол, ниже мой код, а ТУТ в самой конце статьи есть нужный пример.
ActionScript 3
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
var stvol:Stvol=new Stvol(); //добавляем ружье
var pyatak:Pyatachok = new Pyatachok();
var rotToMouseSpeed = 3;//скорость поворота
stvol.x = 275;
stvol.y = 475;
addChild (stvol);
pyatak.x = 250;
pyatak.y = 500;
addChild (pyatak);
addEventListener(Event.ENTER_FRAME, stmous);
function stmous(e:Event):void{ 
var mDx = mouseX - stvol.x;
var mDy = mouseY - stvol.y;
var mAngle = Math.atan2(mDy, mDx);
//получаем угол между мышкой и башней в градусах
var mAngleD = mAngle / Math.PI * 180;
//сколько градусов нехватает для полного поворота на мышь
var dAngleD = stvol.rotation - mAngleD;
//без этой проверки башня будет неправильно крутиться
//при переходе границы -180 и +180 градусов
if (dAngleD > 180) {
 dAngleD = -360 + dAngleD;
} else if (dAngleD < -180) {
 dAngleD = 360 + dAngleD;
}
//поворачиваем башню с нашей скоростью
if(Math.abs(dAngleD) < rotToMouseSpeed) {
 stvol.rotation -= dAngleD;
} else if(dAngleD > 0) {
 stvol.rotation -= rotToMouseSpeed;
} else {
 stvol.rotation += rotToMouseSpeed;
}
} // ствол и плавный поворт
 
var pulya:Pulka=new Pulka();
var pulyaArr:Array = []; //массив пуль
var pulyaArr_2:Array = [];
var maxPulek:int=1;
var speed = 30;
var sceneRect:Rectangle=new Rectangle(0,0,500,500); // область сцены
stage.addEventListener(MouseEvent.CLICK,stage_click);
addEventListener(Event.ENTER_FRAME,enter_frame);
function stage_click(e:MouseEvent):void
{  
if(pulyaArr.length<maxPulek)  
{
     pulya.x=stvol.x;
     pulya.y=stvol.y;
     pulya.ang=Math.atan2(mouseY-pulya.y,mouseX-pulya.x);//угол
     pulya.dx=Math.cos(pulya.ang)*speed; //полета 
     pulya.dy=Math.sin(pulya.ang)*speed; //пули
     addChild(pulya);
     pulyaArr.push(pulya);  //добавляем пулю в первый массив
  }
} 
function enter_frame(e:Event):void  
{
  for(var i:int=0;i<pulyaArr.length;i++) 
   {
     pulya=pulyaArr[i] as Pulka;
     pulya.x+=pulya.dx; // угол полета пули
     pulya.y+=pulya.dy;  // в сторону клика мыши
if(sceneRect.contains(pulya.x,pulya.y)==false) //если пуля вне области сцены, то удаляем её из массива и со сцены тоже
 {
 pulyaArr_2.push(pulya); //добавляем пулю во второй массив
 pulyaArr.splice(i--,1); //удаляем из массива
        removeChild(pulya);
 }
    if (pulyaArr_2.length > 9)  {   
 removeEventListener(Event.ENTER_FRAME,enter_frame); //удаляем слушатель
 puh.gotoAndStop("puli");   }
  }
}
как приравнять угол ствола к углу полета пули, никак не получается
0
Модератор
 Аватар для TanaTiX
2939 / 1798 / 180
Регистрация: 19.02.2011
Сообщений: 6,552
20.12.2013, 12:47
В этой строчке
ActionScript 3
1
pulya.angle = Math.atan2(mouseX-pulya.x, mouseY-pulya.y);
Нужно получить угол поворота ствола в радианах.
ActionScript 3
1
pulya.angle = stvol.rotation*Math.PI/180;

Не по теме:

ЗЫ. остальной код пока не читал

1
2 / 2 / 0
Регистрация: 22.01.2013
Сообщений: 174
20.12.2013, 13:52  [ТС]
спасибо

Добавлено через 57 минут
и снова я!
любезнейший, а как найти координаты конца ствола? ну и соответственно начало полета пули будет там
0
Модератор
 Аватар для TanaTiX
2939 / 1798 / 180
Регистрация: 19.02.2011
Сообщений: 6,552
20.12.2013, 14:13
Zhdanoff, можно по углу ствола (код в примерах выше, только расчет на основе размера орудия), можно поиграться с ... Впрочем, этот вариант видится мне наиболее целесообразным.
0
2 / 2 / 0
Регистрация: 22.01.2013
Сообщений: 174
20.12.2013, 14:58  [ТС]
Цитата Сообщение от TanaTiX Посмотреть сообщение
Zhdanoff, можно по углу ствола (код в примерах выше, только расчет на основе размера орудия), можно поиграться с ... Впрочем, этот вариант видится мне наиболее целесообразным.
вот тут есть пример, в нем код:
ActionScript 3
1
2
3
var p = {x:tgt._x, y:tgt._y};
    tgt._parent.localToGlobal(p);
    globalToLocal(p);
не понял как он работает
0
Модератор
 Аватар для TanaTiX
2939 / 1798 / 180
Регистрация: 19.02.2011
Сообщений: 6,552
20.12.2013, 15:00
localToGlobal, globalToLocal
0
2 / 2 / 0
Регистрация: 22.01.2013
Сообщений: 174
20.12.2013, 15:10  [ТС]
Цитата Сообщение от TanaTiX Посмотреть сообщение
блин, на этом хелп адобе все заумными словами, мне нужно по-русски: "есть бутылка водки и пол буханки хлеба...."

Добавлено через 3 минуты
Преобразует объект point из координат экранного объекта (локальных) в координаты рабочей области (глобальные). что есть сиё выражение ни ясно
0
Модератор
 Аватар для TanaTiX
2939 / 1798 / 180
Регистрация: 19.02.2011
Сообщений: 6,552
20.12.2013, 15:51
Zhdanoff, это означает, что внутри контейнера у объектов свои локальные координаты, таким образом объект с локальными координатам (0, 0) может быть по середине сцены, если там располагается его контейнер.

ЗЫ. сам не люблю этот подход, много телодвижений ради в общем-то простого результата
0
2 / 2 / 0
Регистрация: 22.01.2013
Сообщений: 174
20.12.2013, 16:03  [ТС]
Цитата Сообщение от TanaTiX Посмотреть сообщение
Zhdanoff, это означает, что внутри контейнера у объектов свои локальные координаты, таким образом объект с локальными координатам (0, 0) может быть по середине сцены, если там располагается его контейнер.
а можно живой пример? Наглядный только, не с адобе
0
Модератор
 Аватар для TanaTiX
2939 / 1798 / 180
Регистрация: 19.02.2011
Сообщений: 6,552
20.12.2013, 16:40
Пример.
Вложения
Тип файла: rar example.rar (5.3 Кб, 15 просмотров)
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
20.12.2013, 16:40

СМА Атлант 1040т1 (аналог Ardo S1000x) не крутит в одну сторону, не вращается двигатель в одну сторону
СМА Атлант 1040т1 модуль 546059301 не вращает барабан в одну сторону. Проверил резисторы R51a R51b целы. Реле К1,к2 целы, цепи...

Выстрел
есть вот такой код для выстрела но проблема вот в чем VbCkegMIEuw как можно исправить это if (Input.GetMouseButton(0)) ...

Выстрел в игрока
Нужно сделать чтобы враг стрелял в направлении игрока. Ваши предложения?

Выстрел танка
Доброго времени суток ! у меня такая проблема , есть танк (3д объект) у танка есть пушка , когда танк находит врага , он поворачивает...

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


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
31
Ответ Создать тему
Новые блоги и статьи
сукцессия 29. Переход от одних деревьев на другие делать более или менее вероятностным?
anaschu 12.07.2026
Насколько смена типов микоризы — исключительное событие в двухвековой сукцессии? Оценка вероятности в пространстве параметров В текущей версии модели успешно реализован ключевой механизм. . .
сукцессия 27. Думаю, как переделывать уже написанную статью с планами на сукцессию.
anaschu 12.07.2026
Анализ соответствия модели требованиям Реализованные компоненты: Механизм закисления почвы через протонную помпу Конкуренция между типами микориз pH как триггер сукцессии C/ P соотношение. . .
Сукцессия 26. Мат модель создана.
anaschu 12.07.2026
Модель смены растительных сукцессий посредством управления грибами работает внутри небольшой ячейки почвы, восстанавливающейся после пожара, где ненадолго бывшее царство хвойных снова захватили. . .
Решил проблему с ошибкой пагинации сообщений с сервера на алгоритме обхода дерева "Эстафета хвоста".
Hrethgir 12.07.2026
Проблема была в том, что удалялась именно новая кнопка, а не старая. Ни один ИИ не обнаружил это, а сам я смог только когда с работой стало попроще и когда заставил работать будущее автономное. . .
сукцессия 25. Хронология ошибок
anaschu 12.07.2026
# От 50-тонного гриба до устойчивого леса: хроника ошибок при построении модели вековой сукцессии микоризы ## О чём эта статья В процессе построения ОДУ-модели (система дифференциальных. . .
сукцессия 24. Промежуточное общее описание модели
anaschu 12.07.2026
Хендофф: модель АМ→ЭКМ сукцессии микоризы (ризосфера, 50 лет) Содержание проекта Симуляция вековой (50 лет) экологической сукцессии в почве леса Основные участники: АМ-гриб, ЭКМ-гриб,. . .
сукцессия 23. Более физиологичная физиология, более экологичная экология, более диффурные диффуры.
anaschu 12.07.2026
Что реально нашли и починили за эти 5 часов Правило Линдемана (КПД конверсии сахара в тело, kEff) — раньше 100% полученного углерода шло прямо в биомассу гриба; теперь только kEff=0. 5 (после. . .
сукцессия 22. От артефактов к физиологии: калибровка агентной модели грибной сукцессии для воспроизведения сезонной динамики и pH-плато
anaschu 11.07.2026
Аннотация В данной работе представлена калибровка агентной модели динамики грибных сообществ (fungal-succession), направленная на устранение нефизичных артефактов (коллапс биомассы, мгновенное. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru