8000 :pencil: Add docs and examples for u.distance, u.direction · ct-js/docs.ctjs.rocks@5ae4fdd · GitHub
[go: up one dir, main page]

Skip to content

Commit 5ae4fdd

Browse files
📝 Add docs and examples for u.distance, u.direction
1 parent 296ebd8 commit 5ae4fdd

File tree

2 files changed

+111
-3
lines changed

2 files changed

+111
-3
lines changed

docs/ru/u.md

Lines changed: 57 additions & 3 deletions
10000
Original file line numberDiff line numberDiff line change
@@ -34,10 +34,64 @@ bullet.direction = angle
3434

3535
В приведенном примере создается новая пуля (bullet), которая спроецирована относительно положения героя на заданный угол (angle). Функции ldx и ldy используются для расчета смещения по осям X и Y соответственно, в зависимости от заданного угла. Затем создается копия шаблона "Bullet" с помощью функции templates.copy, передаются координаты пули с учетом смещения. Направление пули устанавливается равным углу героя (angle), чтобы она летела в направлении, куда смотрит герой.
3636

37-
### `u.ldy(length, направление)` и `u.lengthDirY(length, направление)`
37+
### `u.ldy(длина, направление)` и `u.lengthDirY(длина, направление)`
3838

3939
Получает вертикальную часть вектора.
4040

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+
@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+
4195
### `u.pdn(x1, y1, x2, y2)` и `u.pointDirection(x1, y1, x2, y2)`
4296

4397
Определяет направление вектора в градусах, указывающего с точки (x1, y1) на точку (x2, y2).
@@ -48,11 +102,11 @@ bullet.direction = angle
48102

49103
### `г.rotate(x, y, deg)`
50104

51-
Оборачивает заданный вектор вокруг заданной оси на заданный угол. Возвращает объект `PIXI.Point` с двумя свойствами: `x` и `y` компоненты.
105+
Поворачивает заданный вектор на заданный угол. Возвращает объект `PIXI.Point` с двумя свойствами: `x` и `y` компоненты.
52106

53107
### `u.rotateRad(x, y, рад)`
54108

55-
Тот же самый "u.rotate", но угол дается в радианах. Возвращает объект (`PIXI.Point`) с двумя свойствами: "x" и "y".
109+
Тот же самый "u.rotate", но угол даётся в радианах. Возвращает объект (`PIXI.Point`) с двумя свойствами: "x" и "y".
56110

57111
### `u.degToRad(deg)`
58112

docs/u.md

Lines changed: 54 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -31,6 +31,60 @@ bullet.direction = @angle
3131

3232
Gets the vertical part of a vector.
3333

34+
### `u.distance(from, to)`
35+
36+
Returns the distance from one object to another. The objects must have `x` and `y` coordinates. (Copies do have them.)
37+
38+
#### Example: Get the distance between the current copy and the player's character
39+
40+
::: tabs#tutorial
41+
@tab JavaScript
42+
```js
43+
var player = templates.list['Hero'][0];
44+
if (templates.valid(player)) {
45+
console.log(u.distance(this, player));
46+
}
47+
```
48+
@tab CoffeeScript
49+
```coffee
50+
player = templates.list['Hero'][0]
51+
if templates.valid player
52+
console.log u.distance(this, player)
53+
```
54+
@tab Catnip
55+
<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>
56+
<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=" F438 /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>
57+
58+
:::
59+
60+
### `u.direction(from, to)`
61+
62+
Returns the direction of a vector that goes from one object to another, in degrees. The objects must have `x` and `y` coordinates. (Copies do have them.)
63+
64+
#### Example: Get the direction from the current copy to the player's character and shoot a projectile
65+
66+
::: tabs#tutorial
67+
@tab JavaScript
68+
```js
69+
var player = templates.list['Hero'][0];
70+
if (templates.valid(player)) {
71+
var projectile = templates.copy('Laser', this.x, this.y);
72+
projectile.direction = u.direction(this, player);
73+
}
74+
```
75+
@tab CoffeeScript
76+
```coffee
77+
player = templates.list['Hero'][0]
78+
if templates.valid player
79+
projectile = templates.copy 'Laser', @x, @y
80+
projectile.direction = u.direction this, player
81+
```
82+
@tab Catnip
83+
<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>
84+
85+
<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>
86+
:::
87+
3488
### `u.pdn(x1, y1, x2, y2)` and `u.pointDirection(x1, y1, x2, y2)`
3589

3690
Gets the direction of vector which is pointing from (x1;y1) to (x2;y2).

0 commit comments

Comments
 (0)
0