-
Notifications
You must be signed in to change notification settings - Fork 109
/
basic-usage.html
93 lines (72 loc) · 2.87 KB
/
basic-usage.html
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
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
<!--
If not stated otherwise in this file or this component's LICENSE file the
following copyright and licenses apply:
Copyright 2020 Metrological
Licensed under the Apache License, Version 2.0 (the License);
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
-->
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8" />
<script src="../../devtools/lightning-inspect.js"></script>
</head>
<body style="margin: 0; padding: 0">
<script type="module">
import lng from '../../src/lightning.mjs';
//attachInspector(lng)
window.onload = function () {
const ENABLE_POINTER = true;
class Card extends lng.Component {
static _template() {
return {
w: 200,
h: 200,
rect: true,
color: 0xffaa7777,
collision: true,
Text: { text: { text: 'Click me!' }, x: 25, y: 50, rotation: 0.5 }
}
}
_handleClick(el, { x, y }) {
console.log(x, y)
this.animation({
duration: 0.2,
actions: [
{ p: 'scale', v: { 0: 1.0, 0.5: 1.1, 1: 1.0 } }
]
}).start();
}
_handleHover() {
this.setSmooth('color', 0xff77aa77);
}
_handleUnhover() {
this.setSmooth('color', 0xffaa7777);
}
}
class BasicUsageExample extends lng.Application {
static _template() {
return {
Card1: { type: Card, x: 50, y: 50 },
Card2: { type: Card, x: 50 + 200 + 25, y: 50 },
Card3: { type: Card, x: 50 + 400 + 50, y: 50, collision: true, alpha: 0.5 }
}
}
_handleClick() {
console.log('click on app')
}
}
const options = { stage: { w: 1080, h: 720, clearColor: 0xFF000000, canvas2d: false, useImageWorker: false, devicePixelRatio: 2 }, debug: true, enablePointer: ENABLE_POINTER }
const app = new BasicUsageExample(options);
document.body.appendChild(app.stage.getCanvas());
}
</script>
</body>
</html>