Как поворачивать и растягивать объект до курсора мыши.

Tagged

Attached Files

The following files have been attached to this tutorial:

.capx

rotate-resize.capx

Download now 172.13 KB

Stats

625 visits, 660 views

Tools

Всем привет. Я хотел показать Вам, как создать объект, который автоматически меняет угол поворота и свою длину и тянется к курсору.

Необходимо выполнить следующие действия:

1. Создайте спрайт и назовите его (я назвал свой "о"). Покрасьте его зеленым (Можно и не зеленым)

2. Добавьте в проект объект типа Mouse.

3. Хорошо. Давайте начнем писать код.

Перейдите во вкладку EventSheet и создайте 4 глобальных переменных типа number (число): "a", "b", "c" "ang", которые будут означать стороны треугольника и угол соответственно."c" зависит от положения мыши по оси X, "b" — соответственно по оси Y-axis, "a" является гипотенузой треугольника, а "ang", как Вы могли догадаться, является углом в этом треугольнике.

4.Создайте эвент System -> Every tick и добавьте следующие действия (System -> Set value):

a = sqrt ((o.x-mouse.x) ^ 2 + (o.y-mouse.y) ^ 2)

b = sqrt ((o.y-mouse.y) ^ 2)

c = sqrt ((o.x-mouse.x) ^ 2)

также установим длину нашего спрайта:

o.set size = (sqrt (b ^ 2 + c ^ 2) -10, 5)

Высота "o" в нашем случае равна 5.

5. добавьте следующие команды:

System -> Compare Two Values: mouse.y> = o.y

System -> Compare Two Values: mouse.x> = o.x

У этих эвентов добавьте следующее действие:

ang = (asin (b / (a)))

Добавим еще немного команд:

System -> Compare Two Values: mouse.y <= o.y

System -> Compare Two Values: mouse.x> = o.x

Действия:

ang = 360- (asin (b / (a)))

Еще эвенты:

System -> Compare Two Values: mouse.y <= o.y

System -> Compare Two Values: mouse.x <= o.x

У них действия:

ang = -180+ (asin (b / (a)))

И наконец:

System -> Compare Two Values: mouse.y> = o.y

System -> Compare Two Values: mouse.x <= o.x

И соответственно действие: ang = -180- (asin (b / (a)))

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

Код должен выглядеть так:

Спасибо всем!

.CAPX

rotate-resize.capx

Download now 172.13 KB
  • 0 Comments

  • Order by
Want to leave a comment? Login or Register an account!