@@ -34,10 +34,64 @@ bullet.direction = angle
34
34
35
35
В приведенном примере создается новая пуля (bullet), которая спроецирована относительно положения героя на заданный угол (angle). Функции ldx и ldy используются для расчета смещения по осям X и Y соответственно, в зависимости от заданного угла. Затем создается копия шаблона "Bullet" с помощью функции templates.copy, передаются координаты пули с учетом смещения. Направление пули устанавливается равным углу героя (angle), чтобы она летела в направлении, куда смотрит герой.
36
36
37
- ### ` u.ldy(length , направление) ` и ` u.lengthDirY(length , направление) `
37
+ ### ` u.ldy(длина , направление) ` и ` u.lengthDirY(длина , направление) `
38
38
39
39
Получает вертикальную часть вектора.
40
40
41
+ ### ` u.distance(from, to) `
42
+
43
+ Возвращает расстояние меж двумя объектами. У объектов обязательно должны быть свойства ` x ` и ` y ` (они есть у всех копий).
44
+
45
+ #### Пример: Получить расстояние от текущей копии до игрового персонажа
46
+
47
+ ::: tabs#tutorial
48
+ @tab JavaScript
49
+ ``` js
50
+ var player = templates .list [' Hero' ][0 ];
51
+ if (templates .valid (player)) {
52
+ console .log (u .distance (this , player));
53
+ }
54
+ ```
55
+ @tab CoffeeScript
56
+ ``` coffee
57
+ player = templates .list [' Hero' ][0 ]
58
+ if templates .valid player
59
+ console .log u .distance (this , player)
60
+ ```
61
10000
+ @tab Catnip
62
+ <catnip-block class=" command selected"> <img src="/assets/icons/help-circle.svg" class="feather"><span class="catnip-block-aTextLabel">If</span> <catnip-block class=" computed boolean boolean "> <img src="/assets/icons/template.svg" class="feather"><span class="catnip-block-aTextLabel">is valid</span> <catnip-block class=" computed wildcard wildcard userdefined "> <img src="/assets/icons/clock.svg" class="feather"> <span class="catnip-block-aTextLabel">player</span> </catnip-block> </catnip-block> <div class="catnip-block-Blocks"> <catnip-block-list> <catnip-block class=" command "> <img src="/assets/icons/terminal.svg" class="feather"><span class="catnip-block-aTextLabel">Log to console</span> <catnip-block class=" computed number wildcard "> <img src="/assets/icons/tool.svg" class="feather"><span class="catnip-block-aTextLabel">distance between</span> <catnip-block class=" computed wildcard wildcard constant "> <img src="/assets/icons/crosshair.svg" class="feather"><span class="catnip-block-aTextLabel">this</span> </catnip-block> <catnip-block class=" computed wildcard wildcard userdefined "> <img src="/assets/icons/clock.svg" class="feather"> <span class="catnip-block-aTextLabel">player</span> </catnip-block> </catnip-block> </catnip-block> </catnip-block-list> </div> </catnip-block>
63
+
64
+ <catnip-block class=" command selected"> <img src="/assets/icons/code-alt.svg" class="feather"><span class="catnip-block-aTextLabel">Set</span> <catnip-block class=" computed wildcard wildcard userdefined "> <img src="/assets/icons/clock.svg" class="feather"> <span class="catnip-block-aTextLabel">player</span> </catnip-block> <span class="catnip-block-aTextLabel">value</span> <catnip-block class=" computed wildcard wildcard "> <img src="/assets/icons/grid.svg" class="feather"><span class="catnip-block-aTextLabel">get array element</span> <catnip-block class=" computed wildcard wildcard "> <img src="/assets/icons/template.svg" class="feather"><span class="catnip-block-aTextLabel">templates list</span> <span class="catnip-block-aConstantInput menu wildcard "> <img src="/assets/icons/image.svg" class="feather"><span>Hero</span></span> </catnip-block> <span class="catnip-block-aTextLabel">at</span> <input type="text" class="catnip-block-aConstantInput number " style=" width: 1.5ch; " value="0" readonly="readonly"> </catnip-block> </catnip-block>
65
+ :::
66
+
67
+ ### ` u.direction(from, to) `
68
+
69
+ Возвращает угол вектора, идущего от одного объекта до другого, в градусах. У объектов обязательно должны быть свойства ` x ` и ` y ` (они есть у всех копий).
70
+
71
+ #### Пример: Выстрелить снаряд в направлении игрового персонажа
72
+
73
+ ::: tabs#tutorial
74
+ @tab JavaScript
75
+ ``` js
76
+ var player = templates .list [' Hero' ][0 ];
77
+ if (templates .valid (player)) {
78
+ var projectile = templates .copy (' Laser' , this .x , this .y );
79
+ projectile .direction = u .direction (this , player);
80
+ }
81
+ ```
82
+ @tab CoffeeScript
83
+ ``` coffee
84
+ player = templates .list [' Hero' ][0 ]
85
+ if templates .valid player
86
+ projectile = templates .copy ' Laser' , @x , @y
87
+ projectile .direction = u .direction this , player
88
+ ```
89
+ @tab Catnip
90
+ <catnip-block class=" command selected"> <img src="/assets/icons/help-circle.svg" class="feather"><span class="catnip-block-aTextLabel">If</span> <catnip-block class=" computed boolean boolean "> <img src="/assets/icons/template.svg" class="feather"><span class="catnip-block-aTextLabel">is valid</span> <catnip-block class=" computed wildcard wildcard userdefined "> <img src="/assets/icons/clock.svg" class="feather"> <span class="catnip-block-aTextLabel">player</span> </catnip-block> </catnip-block> <div class="catnip-block-Blocks"> <catnip-block-list> <catnip-block class=" command "> <img src="/assets/icons/template.svg" class="feather"><span class="catnip-block-aTextLabel">Copy a template</span> <span class="catnip-block-aConstantInput menu string "> <img src="/assets/icons/image.svg" class="feather"><span>Laser</span></span> <catnip-block class=" computed number number "> <img src="/assets/icons/move.svg" class="feather"><span class="catnip-block-aTextLabel">x</span> </catnip-block> <catnip-block class=" computed number number "> <img src="/assets/icons/move.svg" class="feather"><span class="catnip-block-aTextLabel">y</span> </catnip-block> <div class="catnip-block-aFiller"></div> <span class="catnip-block-aTextLabel">store in</span> <catnip-block class=" computed wildcard wildcard userdefined "> <img src="/assets/icons/clock.svg" class="feather"> <span class="catnip-block-aTextLabel">projectile</span> </catnip-block> <div class="catnip-block-Options"> <div class="catnip-block-anOptionsToggle"> <img src="/assets/icons/chevron-down.svg" class="feather"><span>Advanced</span> <img src="/assets/icons/chevron-down.svg" class="feather"> </div> </div> </catnip-block> <catnip-block class=" command void "> <img src="/assets/icons/template.svg" class="feather"><span class="catnip-block-aTextLabel">With copy</span> <catnip-block class=" computed wildcard wildcard userdefined "> <img src="/assets/icons/clock.svg" class="feather"> <span class="catnip-block-aTextLabel">projectile</span> </catnip-block> <div class="catnip-block-Blocks"> <catnip-block-list> <catnip-block class=" command "> <img src="/assets/icons/move.svg" class="feather"><span class="catnip-block-aTextLabel">Set direction to</span> <catnip-block class=" computed number number "> <img src="/assets/icons/tool.svg" class="feather"><span class="catnip-block-aTextLabel">direction</span> <catnip-block class=" computed wildcard wildcard constant "> <img src="/assets/icons/crosshair.svg" class="feather"><span class="catnip-block-aTextLabel">this</span> </catnip-block> <catnip-block class=" computed wildcard wildcard userdefined "> <img src="/assets/icons/clock.svg" class="feather"> <span class="catnip-block-aTextLabel">player</span> </catnip-block> </catnip-block> </catnip-block> </catnip-block-list> </div> </catnip-block> </catnip-block-list> </div> </catnip-block>
91
+ <catnip-block class=" command selected"> <img src="/assets/icons/code-alt.svg" class="feather"><span class="catnip-block-aTextLabel">Set</span> <catnip-block class=" computed wildcard wildcard userdefined "> <img src="/assets/icons/clock.svg" class="feather"> <span class="catnip-block-aTextLabel">player</span> </catnip-block> <span class="catnip-block-aTextLabel">value</span> <catnip-block class=" computed wildcard wildcard "> <img src="/assets/icons/grid.svg" class="feather"><span class="catnip-block-aTextLabel">get array element</span> <catnip-block class=" computed wildcard wildcard "> <img src="/assets/icons/template.svg" class="feather"><span class="catnip-block-aTextLabel">templates list</span> <span class="catnip-block-aConstantInput menu wildcard "> <img src="/assets/icons/image.svg" class="feather"><span>PotatoCat</span></span> </catnip-block> <span class="catnip-block-aTextLabel">at</span> <input type="text" class="catnip-block-aConstantInput number " style=" width: 1.5ch; " value="0" readonly="readonly"> </catnip-block> </catnip-block>
92
+
93
+ :::
94
+
41
95
### ` u.pdn(x1, y1, x2, y2) ` и ` u.pointDirection(x1, y1, x2, y2) `
42
96
43
97
Определяет направление вектора в градусах, указывающего с точки (x1, y1) на точку (x2, y2).
@@ -48,11 +102,11 @@ bullet.direction = angle
48
102
49
103
### ` г.rotate(x, y, deg) `
50
104
51
- Оборачивает заданный вектор вокруг заданной оси на заданный угол. Возвращает объект ` PIXI.Point ` с двумя свойствами: ` x ` и ` y ` компоненты.
105
+ Поворачивает заданный вектор на заданный угол. Возвращает объект ` PIXI.Point ` с двумя свойствами: ` x ` и ` y ` компоненты.
52
106
53
107
### ` u.rotateRad(x, y, рад) `
54
108
55
- Тот же самый "u.rotate", но угол дается в радианах. Возвращает объект (` PIXI.Point ` ) с двумя свойствами: "x" и "y".
109
+ Тот же самый "u.rotate", но угол даётся в радианах. Возвращает объект (` PIXI.Point ` ) с двумя свойствами: "x" и "y".
56
110
57
111
### ` u.degToRad(deg) `
58
112
0 commit comments