1+ package javagameengine.mapeditor
2+
3+ import javagameengine.JavaGameEngine
4+ import javagameengine.backend.GameWorld
5+ import javagameengine.backend.Scene
6+ import javagameengine.backend.UpdateThread
7+ import javagameengine.backend.input.Input
8+ import javagameengine.backend.input.Keys
9+ import javagameengine.components.Component
10+ import javagameengine.components.GameObject
11+ import javagameengine.msc.CameraMovement
12+ import javagameengine.msc.Debug
13+ import javagameengine.msc.Vector2
14+ import java.awt.Graphics
15+
16+ class Rect (pos : Vector2 = Vector2 .zero) : Component() {
17+ init {
18+ this .position = pos;
19+ }
20+
21+ override fun draw (g : Graphics ? ) {
22+ g!! .drawRect(position.x.toInt(), position.y.toInt(), scale.x.toInt(), scale.y.toInt());
23+ }
24+ }
25+
26+ class DrawingBoard : Scene (){
27+
28+ var size : Vector2 = Vector2 (50f ,50f );
29+
30+ init {
31+ for (x in 100 downTo 0 step 1 ){
32+ for (y in 10 downTo 0 step 1 ){
33+ components.add(Rect (Vector2 (x.toFloat(), y.toFloat()).multiply(size)))
34+ }
35+ }
36+ UpdateThread .camera.addChild(CameraMovement (4f ))
37+ }
38+
39+ override fun update () {
40+ super .update()
41+ if (Input .isMouseDown(Keys .LEFTCLICK )){
42+ for (c in components){
43+ if (c.isMouseInside){
44+ Debug .log(c.position)
45+ var g = GameObject ();
46+ g.position = c.position
47+ g.scale = c.scale
48+ c.instantiate(g)
49+ }
50+ }
51+
52+ }
53+ }
54+
55+ }
0 commit comments