mirror of
https://github.com/genxium/DelayNoMore
synced 2024-12-26 03:39:00 +00:00
Fixes for collider polygonal shape drawing.
This commit is contained in:
parent
1122f4d71c
commit
d49e7830d4
@ -1152,19 +1152,17 @@ func (pR *Room) applyInputFrameDownsyncDynamics(fromRenderFrameId int32, toRende
|
||||
baseChange := player.Speed * pR.RollbackEstimatedDt * decodedInputSpeedFactor
|
||||
dx := baseChange * float64(decodedInput[0])
|
||||
dy := baseChange * float64(decodedInput[1])
|
||||
dyInResolv := -dy
|
||||
|
||||
collisionPlayerIndex := COLLISION_PLAYER_INDEX_PREFIX + joinIndex
|
||||
playerCollider := pR.CollisionSysMap[collisionPlayerIndex]
|
||||
if collision := playerCollider.Check(dx, dyInResolv, "Barrier"); collision != nil {
|
||||
if collision := playerCollider.Check(dx, dy, "Barrier"); collision != nil {
|
||||
changeWithCollision := collision.ContactWithObject(collision.Objects[0])
|
||||
Logger.Info(fmt.Sprintf("Collided: roomId=%v, playerId=%v, orig dx=%v, orig dy=%v, new dx =%v, new dy=%v", pR.Id, player.Id, dx, dy, changeWithCollision.X(), changeWithCollision.Y()))
|
||||
dx = changeWithCollision.X()
|
||||
dyInResolv = changeWithCollision.Y()
|
||||
dy = -dyInResolv
|
||||
dy = changeWithCollision.Y()
|
||||
}
|
||||
playerCollider.X += dx
|
||||
playerCollider.Y += dyInResolv
|
||||
playerCollider.Y += dy
|
||||
// Update in "collision space"
|
||||
playerCollider.Update()
|
||||
|
||||
@ -1200,7 +1198,7 @@ func (pR *Room) refreshColliders() {
|
||||
|
||||
space := resolv.NewSpace(int(spaceW), int(spaceH), int(pR.StageTileW), int(pR.StageTileH)) // allocate a new collision space everytime after a battle is settled
|
||||
for _, player := range pR.Players {
|
||||
playerCollider := resolv.NewObject(player.X+spaceOffsetX, -player.Y+spaceOffsetY, playerColliderRadius*2, playerColliderRadius*2)
|
||||
playerCollider := resolv.NewObject(player.X+spaceOffsetX, player.Y+spaceOffsetY, playerColliderRadius*2, playerColliderRadius*2)
|
||||
playerColliderShape := resolv.NewCircle(0, 0, playerColliderRadius*2)
|
||||
playerCollider.SetShape(playerColliderShape)
|
||||
space.Add(playerCollider)
|
||||
@ -1233,7 +1231,7 @@ func (pR *Room) refreshColliders() {
|
||||
barrierColliderShape.AddPoints(p.X, p.Y)
|
||||
}
|
||||
|
||||
barrierCollider := resolv.NewObject(barrier.Boundary.Anchor.X+spaceOffsetX, -barrier.Boundary.Anchor.Y+spaceOffsetY, w, h, "Barrier")
|
||||
barrierCollider := resolv.NewObject(barrier.Boundary.Anchor.X+spaceOffsetX, barrier.Boundary.Anchor.Y+spaceOffsetY, w, h, "Barrier")
|
||||
barrierCollider.SetShape(barrierColliderShape)
|
||||
space.Add(barrierCollider)
|
||||
}
|
||||
|
@ -1,66 +1,52 @@
|
||||
package main
|
||||
|
||||
import (
|
||||
"image/color"
|
||||
"math"
|
||||
|
||||
"github.com/hajimehoshi/ebiten/v2"
|
||||
"github.com/hajimehoshi/ebiten/v2/ebitenutil"
|
||||
"github.com/solarlune/resolv"
|
||||
"image/color"
|
||||
)
|
||||
|
||||
var circleBuffer map[resolv.Shape]*ebiten.Image = map[resolv.Shape]*ebiten.Image{}
|
||||
|
||||
func DrawPolygon(screen *ebiten.Image, shape *resolv.ConvexPolygon, color color.Color) {
|
||||
|
||||
verts := shape.Transformed()
|
||||
for i := 0; i < len(verts); i++ {
|
||||
vert := verts[i]
|
||||
next := verts[0]
|
||||
|
||||
if i < len(verts)-1 {
|
||||
next = verts[i+1]
|
||||
}
|
||||
ebitenutil.DrawLine(screen, vert.X(), vert.Y(), next.X(), next.Y(), color)
|
||||
var (
|
||||
PolygonFillerImage = ebiten.NewImage(1, 1)
|
||||
)
|
||||
|
||||
func DrawPolygon(screen *ebiten.Image, shape *resolv.ConvexPolygon, clr color.Color) {
|
||||
PolygonFillerImage.Fill(clr)
|
||||
indices := []uint16{}
|
||||
vs := []ebiten.Vertex{}
|
||||
coors := shape.Transformed()
|
||||
centerX := float64(0)
|
||||
centerY := float64(0)
|
||||
n := uint16(len(coors))
|
||||
for i, coor := range coors {
|
||||
centerX += coor.X()
|
||||
centerY += coor.Y()
|
||||
vs = append(vs, ebiten.Vertex{
|
||||
DstX: float32(coor.X()),
|
||||
DstY: float32(coor.Y()),
|
||||
SrcX: 0,
|
||||
SrcY: 0,
|
||||
ColorR: 1,
|
||||
ColorG: 1,
|
||||
ColorB: 1,
|
||||
ColorA: 1,
|
||||
})
|
||||
indices = append(indices, uint16(i), uint16(i+1)%n, n)
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
func DrawCircle(screen *ebiten.Image, circle *resolv.Circle, drawColor color.Color) {
|
||||
|
||||
// Actually drawing the circles live is too inefficient, so we will simply draw them to an image and then draw that instead
|
||||
// when necessary.
|
||||
|
||||
if _, exists := circleBuffer[circle]; !exists {
|
||||
newImg := ebiten.NewImage(int(circle.Radius)*2, int(circle.Radius)*2)
|
||||
|
||||
newImg.Set(int(circle.X), int(circle.Y), color.White)
|
||||
|
||||
stepCount := float64(32)
|
||||
|
||||
// Half image width and height.
|
||||
hw := circle.Radius
|
||||
hh := circle.Radius
|
||||
|
||||
for i := 0; i < int(stepCount); i++ {
|
||||
|
||||
x := (math.Sin(math.Pi*2*float64(i)/stepCount) * (circle.Radius - 2)) + hw
|
||||
y := (math.Cos(math.Pi*2*float64(i)/stepCount) * (circle.Radius - 2)) + hh
|
||||
|
||||
x2 := (math.Sin(math.Pi*2*float64(i+1)/stepCount) * (circle.Radius - 2)) + hw
|
||||
y2 := (math.Cos(math.Pi*2*float64(i+1)/stepCount) * (circle.Radius - 2)) + hh
|
||||
|
||||
ebitenutil.DrawLine(newImg, x, y, x2, y2, color.White)
|
||||
|
||||
}
|
||||
circleBuffer[circle] = newImg
|
||||
}
|
||||
|
||||
drawOpt := &ebiten.DrawImageOptions{}
|
||||
r, g, b, _ := drawColor.RGBA()
|
||||
drawOpt.ColorM.Scale(float64(r)/65535, float64(g)/65535, float64(b)/65535, 1)
|
||||
drawOpt.GeoM.Translate(circle.X-circle.Radius, circle.Y-circle.Radius)
|
||||
screen.DrawImage(circleBuffer[circle], drawOpt)
|
||||
|
||||
centerX = centerX / float64(n)
|
||||
centerY = centerY / float64(n)
|
||||
|
||||
vs = append(vs, ebiten.Vertex{
|
||||
DstX: float32(centerX),
|
||||
DstY: float32(centerY),
|
||||
SrcX: 0,
|
||||
SrcY: 0,
|
||||
ColorR: 1,
|
||||
ColorG: 1,
|
||||
ColorB: 1,
|
||||
ColorA: 1,
|
||||
})
|
||||
|
||||
screen.DrawTriangles(vs, indices, PolygonFillerImage, nil)
|
||||
}
|
||||
|
@ -85,12 +85,13 @@ type Game struct {
|
||||
|
||||
func NewGame() *Game {
|
||||
|
||||
stageName := "simple" // Use this for calibration
|
||||
// stageName := "richsoil"
|
||||
// stageName := "simple" // Use this for calibration
|
||||
stageName := "simple2"
|
||||
stageDiscreteW, stageDiscreteH, stageTileW, stageTileH, playerPosMap, barrierMap, err := parseStage(stageName)
|
||||
if nil != err {
|
||||
panic(err)
|
||||
}
|
||||
PolygonFillerImage.Fill(color.RGBA{60, 60, 60, 255}) // Required to init color of the polygons!
|
||||
|
||||
spaceW := stageDiscreteW * stageTileW
|
||||
spaceH := stageDiscreteH * stageTileH
|
||||
|
@ -1,20 +1,20 @@
|
||||
package main
|
||||
|
||||
import (
|
||||
. "dnmshared"
|
||||
"fmt"
|
||||
"image/color"
|
||||
"go.uber.org/zap"
|
||||
"github.com/hajimehoshi/ebiten/v2"
|
||||
"github.com/hajimehoshi/ebiten/v2/ebitenutil"
|
||||
"github.com/solarlune/resolv"
|
||||
. "dnmshared"
|
||||
"go.uber.org/zap"
|
||||
"image/color"
|
||||
|
||||
"math"
|
||||
"math"
|
||||
)
|
||||
|
||||
type WorldColliderDisplay struct {
|
||||
Game *Game
|
||||
Space *resolv.Space
|
||||
Game *Game
|
||||
Space *resolv.Space
|
||||
}
|
||||
|
||||
func (world *WorldColliderDisplay) Init() {
|
||||
@ -22,7 +22,7 @@ func (world *WorldColliderDisplay) Init() {
|
||||
|
||||
func NewWorldColliderDisplay(game *Game, stageDiscreteW, stageDiscreteH, stageTileW, stageTileH int32, playerPosMap StrToVec2DListMap, barrierMap StrToPolygon2DListMap) *WorldColliderDisplay {
|
||||
|
||||
playerList := *(playerPosMap["PlayerStartingPos"])
|
||||
playerList := *(playerPosMap["PlayerStartingPos"])
|
||||
barrierList := *(barrierMap["Barrier"])
|
||||
|
||||
world := &WorldColliderDisplay{Game: game}
|
||||
@ -35,53 +35,51 @@ func NewWorldColliderDisplay(game *Game, stageDiscreteW, stageDiscreteH, stageTi
|
||||
spaceOffsetX := float64(spaceW) * 0.5
|
||||
spaceOffsetY := float64(spaceH) * 0.5
|
||||
|
||||
// TODO: Move collider y-axis transformation to a "dnmshared"
|
||||
// TODO: Move collider y-axis transformation to a "dnmshared"
|
||||
playerColliderRadius := float64(12) // hardcoded
|
||||
space := resolv.NewSpace(int(spaceW), int(spaceH), int(stageTileW), int(stageTileH))
|
||||
for _, player := range playerList {
|
||||
playerCollider := resolv.NewObject(player.X+spaceOffsetX, -player.Y+spaceOffsetY, playerColliderRadius*2, playerColliderRadius*2, "Player")
|
||||
playerColliderShape := resolv.NewCircle(0, 0, playerColliderRadius*2)
|
||||
playerCollider.SetShape(playerColliderShape)
|
||||
Logger.Info("player shape added:", zap.Any("shape", playerColliderShape))
|
||||
space.Add(playerCollider)
|
||||
}
|
||||
space := resolv.NewSpace(int(spaceW), int(spaceH), 16, 16)
|
||||
for _, player := range playerList {
|
||||
playerCollider := resolv.NewObject(player.X+spaceOffsetX, player.Y+spaceOffsetY, playerColliderRadius*2, playerColliderRadius*2, "Player")
|
||||
playerColliderShape := resolv.NewCircle(0, 0, playerColliderRadius*2)
|
||||
playerCollider.SetShape(playerColliderShape)
|
||||
space.Add(playerCollider)
|
||||
}
|
||||
|
||||
barrierLocalId := 0
|
||||
for _, barrier := range barrierList {
|
||||
var w float64 = 0
|
||||
var h float64 = 0
|
||||
barrierLocalId := 0
|
||||
for _, barrier := range barrierList {
|
||||
var w float64 = 0
|
||||
var h float64 = 0
|
||||
|
||||
for i, pi := range barrier.Points {
|
||||
for j, pj := range barrier.Points {
|
||||
if i == j {
|
||||
continue
|
||||
}
|
||||
if math.Abs(pj.X-pi.X) > w {
|
||||
w = math.Abs(pj.X - pi.X)
|
||||
}
|
||||
if math.Abs(pj.Y-pi.Y) > h {
|
||||
h = math.Abs(pj.Y - pi.Y)
|
||||
}
|
||||
}
|
||||
}
|
||||
for i, pi := range barrier.Points {
|
||||
for j, pj := range barrier.Points {
|
||||
if i == j {
|
||||
continue
|
||||
}
|
||||
if math.Abs(pj.X-pi.X) > w {
|
||||
w = math.Abs(pj.X - pi.X)
|
||||
}
|
||||
if math.Abs(pj.Y-pi.Y) > h {
|
||||
h = math.Abs(pj.Y - pi.Y)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
barrierColliderShape := resolv.NewConvexPolygon()
|
||||
for i := 0; i < len(barrier.Points); i++ {
|
||||
p := barrier.Points[i]
|
||||
barrierColliderShape.AddPoints(p.X, p.Y)
|
||||
}
|
||||
barrierColliderShape := resolv.NewConvexPolygon()
|
||||
for i := 0; i < len(barrier.Points); i++ {
|
||||
p := barrier.Points[i]
|
||||
barrierColliderShape.AddPoints(p.X, p.Y)
|
||||
}
|
||||
|
||||
barrierCollider := resolv.NewObject(barrier.Anchor.X+spaceOffsetX, -barrier.Anchor.Y+spaceOffsetY, w, h, "Barrier")
|
||||
barrierCollider.SetShape(barrierColliderShape)
|
||||
barrierCollider := resolv.NewObject(barrier.Anchor.X+spaceOffsetX, barrier.Anchor.Y+spaceOffsetY, w, h, "Barrier")
|
||||
barrierCollider.SetShape(barrierColliderShape)
|
||||
|
||||
Logger.Info("barrier shape added:", zap.Any("barrierLocalId", barrierLocalId), zap.Any("shape", barrierColliderShape))
|
||||
space.Add(barrierCollider)
|
||||
space.Add(barrierCollider)
|
||||
|
||||
barrierLocalId++
|
||||
}
|
||||
barrierLocalId++
|
||||
}
|
||||
|
||||
world.Space = space
|
||||
return world
|
||||
return world
|
||||
}
|
||||
|
||||
func (world *WorldColliderDisplay) Update() {
|
||||
@ -91,14 +89,17 @@ func (world *WorldColliderDisplay) Update() {
|
||||
func (world *WorldColliderDisplay) Draw(screen *ebiten.Image) {
|
||||
|
||||
for _, o := range world.Space.Objects() {
|
||||
drawColor := color.RGBA{60, 60, 60, 255}
|
||||
if o.HasTags("Player") {
|
||||
drawColor = color.RGBA{0, 255, 0, 255}
|
||||
circle := o.Shape.(*resolv.Circle)
|
||||
drawColor := color.RGBA{0, 255, 0, 255}
|
||||
ebitenutil.DrawCircle(screen, circle.X, circle.Y, circle.Radius, drawColor)
|
||||
} else {
|
||||
drawColor := color.RGBA{60, 60, 60, 255}
|
||||
DrawPolygon(screen, o.Shape.(*resolv.ConvexPolygon), drawColor)
|
||||
}
|
||||
ebitenutil.DrawRect(screen, o.X, o.Y, o.W, o.H, drawColor)
|
||||
}
|
||||
|
||||
// world.Game.DebugDraw(screen, world.Space)
|
||||
// world.Game.DebugDraw(screen, world.Space)
|
||||
|
||||
if world.Game.ShowHelpText {
|
||||
|
||||
|
@ -8,81 +8,33 @@
|
||||
</data>
|
||||
</layer>
|
||||
<objectgroup id="2" name="PlayerStartingPos">
|
||||
<object id="135" x="1689.33" y="1872">
|
||||
<object id="135" x="1442.33" y="2063">
|
||||
<point/>
|
||||
</object>
|
||||
<object id="137" x="2200" y="1800">
|
||||
<object id="137" x="2270" y="1640">
|
||||
<point/>
|
||||
</object>
|
||||
</objectgroup>
|
||||
<layer id="3" name="FirsrtFloor" width="50" height="50">
|
||||
<data encoding="base64" compression="zlib">
|
||||
eJztmd0OwiAMRheNv/P9n9eY2BtCgVJbvs6em8WauJ64wQdsW5L4cq7ULu5d6Ni/11vlu1oNkb34HNGldCDugzUETkydc0OmfF4iOhDkEtmBuK5uIAk3x7VAnxckHMnF+j2P+AzX8uaHSP97K2+26kiM5M1WHQEuC0Ry6eUZLicjufQcImS2dMDgCA7cGpKI4EBw40wkByLXw5iM5GS0rKvpx3rulvam6cfaRfr7/+DyMriXFK2LZNx6CO8lZdYFceyVujxNuvgNSGscLStduD2XWVa49PZcZvF0Gd1zmcXDRXLGp8HSxfuMz9LFe03j4eI1r1rmijzjSxIdb64rAxM=
|
||||
eJztwQENAAAAwqD3T20ON6AAAAAAAAAAAADg3wAnEAAB
|
||||
</data>
|
||||
</layer>
|
||||
<objectgroup id="4" name="Barrier">
|
||||
<properties>
|
||||
<property name="type" value="barrier_and_shelter"/>
|
||||
</properties>
|
||||
<object id="1" x="234" y="730">
|
||||
<properties>
|
||||
<property name="boundary_type" value="barrier"/>
|
||||
</properties>
|
||||
<polyline points="0,0 -74,78 178,330 250,258"/>
|
||||
</object>
|
||||
<object id="2" x="804" y="156">
|
||||
<properties>
|
||||
<property name="boundary_type" value="barrier"/>
|
||||
</properties>
|
||||
<polyline points="0,0 -74,78 178,330 250,258"/>
|
||||
</object>
|
||||
<object id="3" x="230" y="410">
|
||||
<properties>
|
||||
<property name="boundary_type" value="barrier"/>
|
||||
</properties>
|
||||
<polyline points="250,-258 -74,78 178,330 504,0"/>
|
||||
</object>
|
||||
<object id="4" x="2470" y="2650">
|
||||
<properties>
|
||||
<property name="boundary_type" value="barrier"/>
|
||||
</properties>
|
||||
<polyline points="250,-258 -74,78 178,330 504,0"/>
|
||||
</object>
|
||||
<object id="5" x="1082.23" y="1537.08">
|
||||
<properties>
|
||||
<property name="boundary_type" value="barrier"/>
|
||||
</properties>
|
||||
<polyline points="548.339,-547.082 -94.2284,95.4898 230.657,408.918 867.772,-230"/>
|
||||
</object>
|
||||
<object id="9" x="311.741" y="1916">
|
||||
<properties>
|
||||
<property name="boundary_type" value="barrier"/>
|
||||
</properties>
|
||||
<polyline points="-22,30 -93.7407,98.1818 867.593,1062 938.259,992.909"/>
|
||||
</object>
|
||||
<object id="11" x="1015.74" y="1852">
|
||||
<properties>
|
||||
<property name="boundary_type" value="barrier"/>
|
||||
</properties>
|
||||
<polyline points="-26,26 -93.7407,98.1818 304.26,489.333 364.259,426.909"/>
|
||||
</object>
|
||||
<object id="14" x="1975.74" y="896">
|
||||
<properties>
|
||||
<property name="boundary_type" value="barrier"/>
|
||||
</properties>
|
||||
<polyline points="-26,26 -93.7407,98.1818 296.26,480 362.926,414.909"/>
|
||||
</object>
|
||||
<object id="15" x="1917.74" y="1798">
|
||||
<properties>
|
||||
<property name="boundary_type" value="barrier"/>
|
||||
</properties>
|
||||
<polyline points="-26,26 -93.7407,98.1818 285.593,472 352.259,402.909"/>
|
||||
</object>
|
||||
<object id="213" x="1044" y="1852">
|
||||
<properties>
|
||||
<property name="boundary_type" value="barrier"/>
|
||||
</properties>
|
||||
<polyline points="511.333,246 276.926,484.848 336.26,537.333 570.926,302.909"/>
|
||||
<polyline points="1101.33,-342 470.926,284.848 526.26,339.333 1152.93,-285.091"/>
|
||||
</object>
|
||||
</objectgroup>
|
||||
</map>
|
||||
|
7
frontend/assets/resources/map/simple2/BackgroundMap.meta
Normal file
7
frontend/assets/resources/map/simple2/BackgroundMap.meta
Normal file
@ -0,0 +1,7 @@
|
||||
{
|
||||
"ver": "1.0.1",
|
||||
"uuid": "2f0bdedd-7215-4462-ae54-b71c054cffbe",
|
||||
"isSubpackage": false,
|
||||
"subpackageName": "",
|
||||
"subMetas": {}
|
||||
}
|
Binary file not shown.
After Width: | Height: | Size: 96 KiB |
@ -0,0 +1,34 @@
|
||||
{
|
||||
"ver": "2.3.3",
|
||||
"uuid": "c71de11b-4efc-4b7a-bbc7-eb926d08baf6",
|
||||
"type": "sprite",
|
||||
"wrapMode": "clamp",
|
||||
"filterMode": "bilinear",
|
||||
"premultiplyAlpha": false,
|
||||
"genMipmaps": false,
|
||||
"packable": true,
|
||||
"platformSettings": {},
|
||||
"subMetas": {
|
||||
"Tile_W256_H128_S01": {
|
||||
"ver": "1.0.4",
|
||||
"uuid": "b4fba8f6-ffc7-468b-9086-ec855c73388a",
|
||||
"rawTextureUuid": "c71de11b-4efc-4b7a-bbc7-eb926d08baf6",
|
||||
"trimType": "auto",
|
||||
"trimThreshold": 1,
|
||||
"rotated": false,
|
||||
"offsetX": 0,
|
||||
"offsetY": 831,
|
||||
"trimX": 0,
|
||||
"trimY": 0,
|
||||
"width": 2048,
|
||||
"height": 386,
|
||||
"rawWidth": 2048,
|
||||
"rawHeight": 2048,
|
||||
"borderTop": 0,
|
||||
"borderBottom": 0,
|
||||
"borderLeft": 0,
|
||||
"borderRight": 0,
|
||||
"subMetas": {}
|
||||
}
|
||||
}
|
||||
}
|
@ -0,0 +1,4 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<tileset version="1.2" tiledversion="1.2.2" name="Tile_W256_H128_S01" tilewidth="256" tileheight="128" tilecount="128" columns="8">
|
||||
<image source="Tile_W256_H128_S01.png" width="2048" height="2048"/>
|
||||
</tileset>
|
@ -0,0 +1,5 @@
|
||||
{
|
||||
"ver": "2.0.0",
|
||||
"uuid": "356c1165-6c15-40fe-95d0-baf11b053ada",
|
||||
"subMetas": {}
|
||||
}
|
Binary file not shown.
After Width: | Height: | Size: 229 KiB |
@ -0,0 +1,34 @@
|
||||
{
|
||||
"ver": "2.3.3",
|
||||
"uuid": "ad433d85-5c88-4067-b4b7-129be0f54d57",
|
||||
"type": "sprite",
|
||||
"wrapMode": "clamp",
|
||||
"filterMode": "bilinear",
|
||||
"premultiplyAlpha": false,
|
||||
"genMipmaps": false,
|
||||
"packable": true,
|
||||
"platformSettings": {},
|
||||
"subMetas": {
|
||||
"Tile_W256_H256_S01": {
|
||||
"ver": "1.0.4",
|
||||
"uuid": "6c14c41c-4946-4992-b75d-8b580de43c83",
|
||||
"rawTextureUuid": "ad433d85-5c88-4067-b4b7-129be0f54d57",
|
||||
"trimType": "auto",
|
||||
"trimThreshold": 1,
|
||||
"rotated": false,
|
||||
"offsetX": 0,
|
||||
"offsetY": 0,
|
||||
"trimX": 0,
|
||||
"trimY": 64,
|
||||
"width": 1280,
|
||||
"height": 896,
|
||||
"rawWidth": 1280,
|
||||
"rawHeight": 1024,
|
||||
"borderTop": 0,
|
||||
"borderBottom": 0,
|
||||
"borderLeft": 0,
|
||||
"borderRight": 0,
|
||||
"subMetas": {}
|
||||
}
|
||||
}
|
||||
}
|
@ -0,0 +1,23 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<tileset version="1.2" tiledversion="1.2.2" name="Tile_W256_H256_S01" tilewidth="256" tileheight="256" tilecount="20" columns="5">
|
||||
<grid orientation="isometric" width="256" height="128"/>
|
||||
<image source="Tile_W256_H256_S01.png" width="1280" height="1024"/>
|
||||
<terraintypes>
|
||||
<terrain name="grass" tile="1"/>
|
||||
<terrain name="dirt" tile="2"/>
|
||||
</terraintypes>
|
||||
<tile id="1" terrain="0,0,0,0"/>
|
||||
<tile id="2" terrain="1,1,1,1"/>
|
||||
<tile id="3" terrain="0,1,1,1"/>
|
||||
<tile id="4" terrain="1,1,0,1"/>
|
||||
<tile id="5" terrain="1,1,1,0"/>
|
||||
<tile id="6" terrain="1,0,1,1"/>
|
||||
<tile id="7" terrain="1,0,1,0"/>
|
||||
<tile id="8" terrain="0,0,1,1"/>
|
||||
<tile id="9" terrain="0,1,0,1"/>
|
||||
<tile id="11" terrain="1,1,0,0"/>
|
||||
<tile id="12" terrain="1,0,0,0"/>
|
||||
<tile id="13" terrain="0,0,1,0"/>
|
||||
<tile id="14" terrain="0,0,0,1"/>
|
||||
<tile id="15" terrain="0,1,0,0"/>
|
||||
</tileset>
|
@ -0,0 +1,5 @@
|
||||
{
|
||||
"ver": "2.0.0",
|
||||
"uuid": "e76fd642-3e97-4917-b6c7-0fc679a17644",
|
||||
"subMetas": {}
|
||||
}
|
Binary file not shown.
After Width: | Height: | Size: 52 KiB |
@ -0,0 +1,34 @@
|
||||
{
|
||||
"ver": "2.3.3",
|
||||
"uuid": "2a91275b-bb80-44b8-9932-0913c465e4ea",
|
||||
"type": "sprite",
|
||||
"wrapMode": "clamp",
|
||||
"filterMode": "bilinear",
|
||||
"premultiplyAlpha": false,
|
||||
"genMipmaps": false,
|
||||
"packable": true,
|
||||
"platformSettings": {},
|
||||
"subMetas": {
|
||||
"Tile_W256_H256_S02": {
|
||||
"ver": "1.0.4",
|
||||
"uuid": "55ca9649-0476-4fdb-9faa-3721ec0a0d5a",
|
||||
"rawTextureUuid": "2a91275b-bb80-44b8-9932-0913c465e4ea",
|
||||
"trimType": "auto",
|
||||
"trimThreshold": 1,
|
||||
"rotated": false,
|
||||
"offsetX": 19.5,
|
||||
"offsetY": 3.5,
|
||||
"trimX": 89,
|
||||
"trimY": 0,
|
||||
"width": 1409,
|
||||
"height": 251,
|
||||
"rawWidth": 1548,
|
||||
"rawHeight": 258,
|
||||
"borderTop": 0,
|
||||
"borderBottom": 0,
|
||||
"borderLeft": 0,
|
||||
"borderRight": 0,
|
||||
"subMetas": {}
|
||||
}
|
||||
}
|
||||
}
|
@ -0,0 +1,34 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<tileset version="1.2" tiledversion="1.2.3" name="Tile_W256_H256_S02" tilewidth="256" tileheight="256" tilecount="6" columns="6">
|
||||
<image source="Tile_W256_H256_S02.png" width="1548" height="258"/>
|
||||
<tile id="0">
|
||||
<objectgroup draworder="index">
|
||||
<object id="1" x="120" y="-59">
|
||||
<properties>
|
||||
<property name="boundary_type" value="LowScoreTreasure"/>
|
||||
</properties>
|
||||
<polyline points="-1,73 -104,182 -42,283 74,287 125,147"/>
|
||||
</object>
|
||||
</objectgroup>
|
||||
</tile>
|
||||
<tile id="1">
|
||||
<objectgroup draworder="index">
|
||||
<object id="1" x="117" y="-36">
|
||||
<properties>
|
||||
<property name="boundary_type" value="HighScoreTreasure"/>
|
||||
</properties>
|
||||
<polyline points="13,41 -100,107 -101,236 19,265 119,248 123,105"/>
|
||||
</object>
|
||||
</objectgroup>
|
||||
</tile>
|
||||
<tile id="4">
|
||||
<objectgroup draworder="index">
|
||||
<object id="2" x="135" y="-96">
|
||||
<properties>
|
||||
<property name="boundary_type" value="GuardTower"/>
|
||||
</properties>
|
||||
<polyline points="0,0 -202,72 -240,408 295,406 189,51"/>
|
||||
</object>
|
||||
</objectgroup>
|
||||
</tile>
|
||||
</tileset>
|
@ -0,0 +1,5 @@
|
||||
{
|
||||
"ver": "2.0.0",
|
||||
"uuid": "0f6bb2a2-d39f-4055-a636-4e6dc3472a18",
|
||||
"subMetas": {}
|
||||
}
|
129
frontend/assets/resources/map/simple2/BackgroundMap/map.tmx
Normal file
129
frontend/assets/resources/map/simple2/BackgroundMap/map.tmx
Normal file
@ -0,0 +1,129 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<map version="1.2" tiledversion="1.2.3" orientation="isometric" renderorder="right-down" width="46" height="46" tilewidth="256" tileheight="128" infinite="0" nextlayerid="19" nextobjectid="167">
|
||||
<tileset firstgid="1" source="Tile_W256_H256_S01.tsx"/>
|
||||
<tileset firstgid="21" source="Tile_W256_H256_S02.tsx"/>
|
||||
<layer id="11" name="GroundFloor" width="46" height="46">
|
||||
<data encoding="base64" compression="zlib">
|
||||
eJztmNsOAyEIRNXem97+/2urSU0MEbs2A9XIwzwtuocJLrjBORdMJpPJtIyeUZeKHhtiaJwWW9I+alfRuVh/ZWJoHJqZY2tpK/dJyPfWOxHcUvxa3Oi6eUUdmHd4sLLv0p570P6h4NbwfHRuzvMZuGuez8Bd83wWbur5LNyZ/fbRyNypz3PfUzR39uPesYZ7lmo692AqNDdyTatHo7mR88m3Po/ktj4/L3fr3jAyt+a5NG7974nN33y9SNzTJObvPD9wdYOS1D+VMgcujyOJaYmuR/bMWj1yefTMdNz5kfIceSZruffk/U9uLRn3etzoO5JxG/cq3P7H/bfu/QamEBWW
|
||||
</data>
|
||||
</layer>
|
||||
<layer id="13" name="FirstFloor" width="46" height="46">
|
||||
<data encoding="base64" compression="zlib">
|
||||
eJztmdEKwyAMRfsXjv7/h449CEWSNNFrvMoOlIHdktMsWtddl8xtHNb7NKx4nhhW7DaHRAk6eK9Lyh/5bCR+SxHyIvB6M+LpQUbevFmR1oP6ankX41wP0XjWOsaM5o3kA473Q+uTmTkRvHkzot2nmdH6mGlOSmtMpjdyjuxQb4mIN9OaYnkzs5t3uyduiXij9ygedqv3k6g3y/xE1zvruk7rEzZ36Xvs3X+vWEueZPxumMHfO5dTvOsYm7tnTaljbO4t1rNaZvcTnxHW82zuXic294gLwh21P4i6MNU96oF0H9mz9zr0+ve6tj02UruVfTOad5U7Iifi/0JtTOsrVL2y647MleU+I8+ddMwge55+AUD0Fwk=
|
||||
</data>
|
||||
</layer>
|
||||
<objectgroup id="14" name="PlayerStartingPos">
|
||||
<object id="104" x="1310" y="4034">
|
||||
<point/>
|
||||
</object>
|
||||
<object id="105" x="3752" y="1312">
|
||||
<point/>
|
||||
</object>
|
||||
</objectgroup>
|
||||
<objectgroup id="15" name="Barrier">
|
||||
<properties>
|
||||
<property name="type" value="barrier_and_shelter"/>
|
||||
</properties>
|
||||
<object id="103" x="-216" y="3488">
|
||||
<properties>
|
||||
<property name="boundary_type" value="barrier"/>
|
||||
</properties>
|
||||
</object>
|
||||
<object id="106" x="-168" y="3560">
|
||||
<properties>
|
||||
<property name="boundary_type" value="barrier"/>
|
||||
</properties>
|
||||
</object>
|
||||
<object id="107" x="-230" y="3518">
|
||||
<properties>
|
||||
<property name="boundary_type" value="barrier"/>
|
||||
</properties>
|
||||
<polyline points="0,0 2552,2504 3028,2476 150,-326"/>
|
||||
</object>
|
||||
<object id="108" x="-340" y="3508">
|
||||
<properties>
|
||||
<property name="boundary_type" value="barrier"/>
|
||||
</properties>
|
||||
<polyline points="0,0 630,610 616,624 1194,-3762 -56,-3784"/>
|
||||
</object>
|
||||
<object id="109" x="-184" y="-136">
|
||||
<properties>
|
||||
<property name="boundary_type" value="barrier"/>
|
||||
</properties>
|
||||
<polyline points="0,0 4,452 6116,524 6088,-72"/>
|
||||
</object>
|
||||
<object id="110" x="1586" y="5406">
|
||||
<properties>
|
||||
<property name="boundary_type" value="barrier"/>
|
||||
</properties>
|
||||
<polyline points="0,0 402,582 4556,708 4516,-36 250,-106"/>
|
||||
</object>
|
||||
<object id="111" x="4958" y="-342">
|
||||
<properties>
|
||||
<property name="boundary_type" value="barrier"/>
|
||||
</properties>
|
||||
<polyline points="0,0 294,6626 1488,6640 1138,70"/>
|
||||
</object>
|
||||
</objectgroup>
|
||||
<objectgroup id="16" name="LowScoreTreasure">
|
||||
<object id="144" gid="21" x="1342" y="1786" width="256" height="256"/>
|
||||
<object id="145" gid="21" x="1186" y="2158" width="256" height="256"/>
|
||||
<object id="146" gid="21" x="2714" y="3198" width="256" height="256"/>
|
||||
<object id="147" gid="21" x="2616" y="3680" width="256" height="256"/>
|
||||
<object id="148" gid="21" x="3172" y="3676" width="256" height="256"/>
|
||||
<object id="149" gid="21" x="3526" y="3498" width="256" height="256"/>
|
||||
<object id="150" gid="21" x="3834" y="3150" width="256" height="256"/>
|
||||
<object id="151" gid="21" x="2826" y="2318" width="256" height="256"/>
|
||||
<object id="152" gid="21" x="2960" y="3056" width="256" height="256"/>
|
||||
<object id="153" gid="21" x="3336" y="2752" width="256" height="256"/>
|
||||
<object id="154" gid="21" x="1730" y="2294" width="256" height="256"/>
|
||||
<object id="155" gid="21" x="1480" y="632" width="256" height="256"/>
|
||||
<object id="156" gid="21" x="1116" y="1100" width="256" height="256"/>
|
||||
<object id="157" gid="21" x="3952" y="2528" width="256" height="256"/>
|
||||
<object id="158" gid="21" x="4942" y="3562" width="256" height="256"/>
|
||||
<object id="159" gid="21" x="5032" y="2896" width="256" height="256"/>
|
||||
<object id="160" gid="21" x="2606" y="722" width="256" height="256"/>
|
||||
<object id="161" gid="21" x="3026" y="710" width="256" height="256"/>
|
||||
<object id="162" gid="21" x="1828" y="740" width="256" height="256"/>
|
||||
<object id="163" gid="21" x="1678" y="890" width="256" height="256"/>
|
||||
<object id="164" gid="21" x="1060" y="1324" width="256" height="256"/>
|
||||
<object id="165" gid="21" x="4606" y="2242" width="256" height="256"/>
|
||||
<object id="166" gid="21" x="3848" y="1936" width="256" height="256"/>
|
||||
</objectgroup>
|
||||
<objectgroup id="17" name="HighScoreTreasure">
|
||||
<object id="125" gid="22" x="1926" y="4586" width="256" height="256"/>
|
||||
<object id="126" gid="22" x="2274" y="4990" width="256" height="256"/>
|
||||
<object id="127" gid="22" x="1326" y="3410" width="256" height="256"/>
|
||||
<object id="128" gid="22" x="704" y="3696" width="256" height="256"/>
|
||||
<object id="129" gid="22" x="1520" y="2944" width="256" height="256"/>
|
||||
<object id="130" gid="22" x="886" y="3058" width="256" height="256"/>
|
||||
<object id="131" gid="22" x="3120" y="4968" width="256" height="256"/>
|
||||
<object id="132" gid="22" x="2584" y="4504" width="256" height="256"/>
|
||||
<object id="133" gid="22" x="4344" y="4472" width="256" height="256"/>
|
||||
<object id="134" gid="22" x="4504" y="4208" width="256" height="256"/>
|
||||
<object id="135" gid="22" x="3490" y="1982" width="256" height="256"/>
|
||||
<object id="136" gid="22" x="4068" y="2916" width="256" height="256"/>
|
||||
<object id="137" gid="22" x="4578" y="3150" width="256" height="256"/>
|
||||
<object id="138" gid="22" x="2326" y="762" width="256" height="256"/>
|
||||
<object id="139" gid="22" x="2276" y="1348" width="256" height="256"/>
|
||||
<object id="140" gid="22" x="3366" y="2418" width="256" height="256"/>
|
||||
<object id="141" gid="22" x="4526" y="2586" width="256" height="256"/>
|
||||
<object id="142" gid="22" x="4586" y="1174" width="256" height="256"/>
|
||||
<object id="143" gid="22" x="4126" y="666" width="256" height="256"/>
|
||||
</objectgroup>
|
||||
<objectgroup id="18" name="GuardTower">
|
||||
<object id="112" gid="25" x="904" y="3384" width="256" height="256"/>
|
||||
<object id="113" gid="25" x="1714" y="4158" width="256" height="256"/>
|
||||
<object id="114" gid="25" x="2734" y="5074" width="256" height="256"/>
|
||||
<object id="115" gid="25" x="2180" y="3324" width="256" height="256"/>
|
||||
<object id="116" gid="25" x="3108" y="4076" width="256" height="256"/>
|
||||
<object id="117" gid="25" x="4634" y="4934" width="256" height="256"/>
|
||||
<object id="118" gid="25" x="1094" y="1690" width="256" height="256"/>
|
||||
<object id="119" gid="25" x="2004" y="884" width="256" height="256"/>
|
||||
<object id="120" gid="25" x="2956" y="892" width="256" height="256"/>
|
||||
<object id="121" gid="25" x="3488" y="624" width="256" height="256"/>
|
||||
<object id="122" gid="25" x="4798" y="2626" width="256" height="256"/>
|
||||
<object id="123" gid="25" x="4842" y="4494" width="256" height="256"/>
|
||||
<object id="124" gid="25" x="4632" y="3624" width="256" height="256"/>
|
||||
</objectgroup>
|
||||
</map>
|
@ -0,0 +1,5 @@
|
||||
{
|
||||
"ver": "2.0.2",
|
||||
"uuid": "e310a2ad-1d44-41ed-858a-380474175aed",
|
||||
"subMetas": {}
|
||||
}
|
BIN
frontend/assets/resources/map/simple2/Tile_W300_H300_S01.png
Normal file
BIN
frontend/assets/resources/map/simple2/Tile_W300_H300_S01.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 45 KiB |
@ -0,0 +1,34 @@
|
||||
{
|
||||
"ver": "2.3.3",
|
||||
"uuid": "b6b4c575-6690-4f1d-8165-a0098509066c",
|
||||
"type": "sprite",
|
||||
"wrapMode": "clamp",
|
||||
"filterMode": "bilinear",
|
||||
"premultiplyAlpha": false,
|
||||
"genMipmaps": false,
|
||||
"packable": true,
|
||||
"platformSettings": {},
|
||||
"subMetas": {
|
||||
"Tile_W300_H300_S01": {
|
||||
"ver": "1.0.4",
|
||||
"uuid": "8844352b-c6ac-4f30-8c8a-83955b2241b1",
|
||||
"rawTextureUuid": "b6b4c575-6690-4f1d-8165-a0098509066c",
|
||||
"trimType": "auto",
|
||||
"trimThreshold": 1,
|
||||
"rotated": false,
|
||||
"offsetX": 4,
|
||||
"offsetY": -24.5,
|
||||
"trimX": 97,
|
||||
"trimY": 85,
|
||||
"width": 114,
|
||||
"height": 179,
|
||||
"rawWidth": 300,
|
||||
"rawHeight": 300,
|
||||
"borderTop": 0,
|
||||
"borderBottom": 0,
|
||||
"borderLeft": 0,
|
||||
"borderRight": 0,
|
||||
"subMetas": {}
|
||||
}
|
||||
}
|
||||
}
|
14
frontend/assets/resources/map/simple2/Tile_W300_H300_S01.tsx
Normal file
14
frontend/assets/resources/map/simple2/Tile_W300_H300_S01.tsx
Normal file
@ -0,0 +1,14 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<tileset version="1.2" tiledversion="1.2.3" name="Tile_W300_H300_S01" tilewidth="300" tileheight="300" tilecount="1" columns="1">
|
||||
<image source="Tile_W300_H300_S01.png" width="300" height="300"/>
|
||||
<tile id="0">
|
||||
<objectgroup draworder="index">
|
||||
<object id="1" x="-27" y="-64">
|
||||
<properties>
|
||||
<property name="boundary_type" value="GuardTower"/>
|
||||
</properties>
|
||||
<polyline points="0,0 -95,179 18,407 361,434 458,168 333,-7"/>
|
||||
</object>
|
||||
</objectgroup>
|
||||
</tile>
|
||||
</tileset>
|
@ -0,0 +1,5 @@
|
||||
{
|
||||
"ver": "2.0.0",
|
||||
"uuid": "e8f0b0b6-6274-4931-bf88-af35ca68c4cc",
|
||||
"subMetas": {}
|
||||
}
|
BIN
frontend/assets/resources/map/simple2/Tile_W64_H64_S01.png
Normal file
BIN
frontend/assets/resources/map/simple2/Tile_W64_H64_S01.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 45 KiB |
@ -0,0 +1,34 @@
|
||||
{
|
||||
"ver": "2.3.3",
|
||||
"uuid": "a6ef7a2f-0696-49d7-8e62-d2e495a2d032",
|
||||
"type": "sprite",
|
||||
"wrapMode": "clamp",
|
||||
"filterMode": "bilinear",
|
||||
"premultiplyAlpha": false,
|
||||
"genMipmaps": false,
|
||||
"packable": true,
|
||||
"platformSettings": {},
|
||||
"subMetas": {
|
||||
"Tile_W64_H64_S01": {
|
||||
"ver": "1.0.4",
|
||||
"uuid": "f6779fb1-4117-459a-a175-ff9f3abf1545",
|
||||
"rawTextureUuid": "a6ef7a2f-0696-49d7-8e62-d2e495a2d032",
|
||||
"trimType": "auto",
|
||||
"trimThreshold": 1,
|
||||
"rotated": false,
|
||||
"offsetX": 0,
|
||||
"offsetY": 0,
|
||||
"trimX": 0,
|
||||
"trimY": 0,
|
||||
"width": 256,
|
||||
"height": 256,
|
||||
"rawWidth": 256,
|
||||
"rawHeight": 256,
|
||||
"borderTop": 0,
|
||||
"borderBottom": 0,
|
||||
"borderLeft": 0,
|
||||
"borderRight": 0,
|
||||
"subMetas": {}
|
||||
}
|
||||
}
|
||||
}
|
24
frontend/assets/resources/map/simple2/Tile_W64_H64_S01.tsx
Normal file
24
frontend/assets/resources/map/simple2/Tile_W64_H64_S01.tsx
Normal file
@ -0,0 +1,24 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<tileset version="1.2" tiledversion="1.2.3" name="Tile_W64_H64_S01" tilewidth="64" tileheight="64" tilecount="16" columns="4">
|
||||
<image source="Tile_W64_H64_S01.png" width="256" height="256"/>
|
||||
<tile id="12">
|
||||
<objectgroup draworder="index">
|
||||
<object id="1" x="16" y="17">
|
||||
<properties>
|
||||
<property name="boundary_type" value="LowScoreTreasure"/>
|
||||
</properties>
|
||||
<polyline points="16,-48 88,3 26,93 -45,33"/>
|
||||
</object>
|
||||
</objectgroup>
|
||||
</tile>
|
||||
<tile id="15">
|
||||
<objectgroup draworder="index">
|
||||
<object id="1" x="7" y="4">
|
||||
<properties>
|
||||
<property name="boundary_type" value="HighScoreTreasure"/>
|
||||
</properties>
|
||||
<polyline points="-39,-35 106,-34 106,103 -37,103"/>
|
||||
</object>
|
||||
</objectgroup>
|
||||
</tile>
|
||||
</tileset>
|
@ -0,0 +1,5 @@
|
||||
{
|
||||
"ver": "2.0.0",
|
||||
"uuid": "04f5911f-c460-41ee-8a6c-c1fec92fdcfe",
|
||||
"subMetas": {}
|
||||
}
|
310
frontend/assets/resources/map/simple2/map.tmx
Normal file
310
frontend/assets/resources/map/simple2/map.tmx
Normal file
@ -0,0 +1,310 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<map version="1.2" tiledversion="1.2.3" orientation="isometric" renderorder="right-down" width="50" height="50" tilewidth="64" tileheight="64" infinite="0" nextlayerid="11" nextobjectid="213">
|
||||
<tileset firstgid="1" source="Tile_W64_H64_S01.tsx"/>
|
||||
<tileset firstgid="17" source="Tile_W300_H300_S01.tsx"/>
|
||||
<layer id="1" name="GroundFloor" width="50" height="50" locked="1">
|
||||
<data encoding="base64" compression="zlib">
|
||||
eJztz0ENACAMALGR4F8zNspyjwronZm7xPlcD0sPSw9LD0sPSw9LD0sPSw9LD0sPSw9LD0sPSw9LD0sPSw9LD0sPSw9LD0sPy7bHBg/ldQwR
|
||||
</data>
|
||||
</layer>
|
||||
<objectgroup id="2" name="PlayerStartingPos">
|
||||
<object id="135" x="1689.33" y="1872">
|
||||
<point/>
|
||||
</object>
|
||||
<object id="137" x="1926.67" y="1626.67">
|
||||
<point/>
|
||||
</object>
|
||||
</objectgroup>
|
||||
<layer id="3" name="FirsrtFloor" width="50" height="50">
|
||||
<data encoding="base64" compression="zlib">
|
||||
eJztWctuBCEMW7Vqt9v2/7+32gMSQnnYTmB6WB+ZwZmEkHHgdnuBxe8/5WLwcyHXuzH2ccAuw5Wty3j/bjyzxlC7M9iYrFxZfNbnqi/IOqAxqfow8AWOoXZmZL58k9xvzrg1L+JS9oO6LijfCR882yvWdUH5rG+KuBgfrFo42+7CJ/m+l5MWoloYjZ+CUsN2+OLVc0YDRPa9nNzhC7LPs//Xo8FuNs5wRvt2Rw7v8AXZ5zty2FvL3Xsf4e+qsVf60l1jq754MR2w8qFSY6MaqdSRJ7KYRnNWIL509iseZ4de93TyHZirwOOM1lXtC6JnSg+K2FPnVHSysr9P+4Dq8a5+Wp2jcHq5FPWgFXuZXu/sqxCuHX1cR+1BtN4A0y96/ycldiu8XOquxWhNOZ1LDFA+RCdn/4OOeFjw9nLl/5TVUPZ8YIX3bSd6z26w33zKl0xzM/xd2hvhnKFo7ox/h/ZmtOcpXzp1q6K5PXjfjPSAKJcF9jwXQdd9B8q1E8pZYUW3zlBqVYSOPRatm1XjKrUqQsUXties1qqs9kd8im5l7ovQnOzYr0wuWc+YOz7kvcq6ILkU9ZOqhmfvdj17M6rn3ayGV30YUM8qB6qxeIK9n96FaixmXOVDJ3bomRc4/AGscghn
|
||||
</data>
|
||||
</layer>
|
||||
<objectgroup id="7" name="HighScoreTreasure">
|
||||
<object id="172" gid="16" x="1736" y="708" width="64" height="64"/>
|
||||
<object id="173" gid="16" x="2284" y="768" width="64" height="64"/>
|
||||
<object id="170" gid="16" x="916" y="1608" width="64" height="64"/>
|
||||
<object id="171" gid="16" x="1166" y="2674" width="64" height="64"/>
|
||||
<object id="199" gid="16" x="2536.36" y="2533.7" width="64" height="64"/>
|
||||
<object id="200" gid="16" x="2812.12" y="3045.82" width="64" height="64"/>
|
||||
<object id="201" gid="16" x="3033.33" y="2824.61" width="64" height="64"/>
|
||||
<object id="202" gid="16" x="2093.94" y="1467.03" width="64" height="64"/>
|
||||
<object id="203" gid="16" x="654.545" y="664" width="64" height="64"/>
|
||||
<object id="204" gid="16" x="172.727" y="376.121" width="64" height="64"/>
|
||||
<object id="205" gid="16" x="360.606" y="176.121" width="64" height="64"/>
|
||||
</objectgroup>
|
||||
<objectgroup id="4" name="Barrier" locked="1">
|
||||
<properties>
|
||||
<property name="type" value="barrier_and_shelter"/>
|
||||
</properties>
|
||||
<object id="1" x="234" y="730">
|
||||
<properties>
|
||||
<property name="boundary_type" value="barrier"/>
|
||||
</properties>
|
||||
<polyline points="0,0 -74,78 178,330 250,258"/>
|
||||
</object>
|
||||
<object id="2" x="804" y="156">
|
||||
<properties>
|
||||
<property name="boundary_type" value="barrier"/>
|
||||
</properties>
|
||||
<polyline points="0,0 -74,78 178,330 250,258"/>
|
||||
</object>
|
||||
<object id="3" x="230" y="410">
|
||||
<properties>
|
||||
<property name="boundary_type" value="barrier"/>
|
||||
</properties>
|
||||
<polyline points="250,-258 -74,78 178,330 504,0"/>
|
||||
</object>
|
||||
<object id="4" x="2470" y="2650">
|
||||
<properties>
|
||||
<property name="boundary_type" value="barrier"/>
|
||||
</properties>
|
||||
<polyline points="250,-258 -74,78 178,330 504,0"/>
|
||||
</object>
|
||||
<object id="5" x="1082.23" y="1537.08">
|
||||
<properties>
|
||||
<property name="boundary_type" value="barrier"/>
|
||||
</properties>
|
||||
<polyline points="548.339,-547.082 -94.2284,95.4898 230.657,408.918 867.772,-230"/>
|
||||
</object>
|
||||
<object id="6" x="1188" y="604">
|
||||
<properties>
|
||||
<property name="boundary_type" value="barrier"/>
|
||||
</properties>
|
||||
<polyline points="0,0 -74,78 178,330 250,258"/>
|
||||
</object>
|
||||
<object id="7" x="889.741" y="770">
|
||||
<properties>
|
||||
<property name="boundary_type" value="barrier"/>
|
||||
</properties>
|
||||
<polyline points="-26,22 -93.7407,98.1818 283.593,478 358.259,416.909"/>
|
||||
</object>
|
||||
<object id="8" x="691.741" y="1088">
|
||||
<properties>
|
||||
<property name="boundary_type" value="barrier"/>
|
||||
</properties>
|
||||
<polyline points="-18,30 -93.7407,98.1818 169.593,356 238.259,288.909"/>
|
||||
</object>
|
||||
<object id="9" x="311.741" y="1916">
|
||||
<properties>
|
||||
<property name="boundary_type" value="barrier"/>
|
||||
</properties>
|
||||
<polyline points="-22,30 -93.7407,98.1818 867.593,1062 938.259,992.909"/>
|
||||
</object>
|
||||
<object id="10" x="629.741" y="1854">
|
||||
<properties>
|
||||
<property name="boundary_type" value="barrier"/>
|
||||
</properties>
|
||||
<polyline points="-22,30 -93.7407,98.1818 361.593,548 430.259,480.909"/>
|
||||
</object>
|
||||
<object id="11" x="1015.74" y="1852">
|
||||
<properties>
|
||||
<property name="boundary_type" value="barrier"/>
|
||||
</properties>
|
||||
<polyline points="-26,26 -93.7407,98.1818 329.593,512 396.259,450.909"/>
|
||||
</object>
|
||||
<object id="12" x="1973.74" y="514">
|
||||
<properties>
|
||||
<property name="boundary_type" value="barrier"/>
|
||||
</properties>
|
||||
<polyline points="-26,26 -93.7407,98.1818 355.593,538 424.259,474.909"/>
|
||||
</object>
|
||||
<object id="13" x="2041.74" y="194">
|
||||
<properties>
|
||||
<property name="boundary_type" value="barrier"/>
|
||||
</properties>
|
||||
<polyline points="-26,26 -93.7407,98.1818 865.593,1048 934.259,992.909"/>
|
||||
</object>
|
||||
<object id="14" x="1975.74" y="896">
|
||||
<properties>
|
||||
<property name="boundary_type" value="barrier"/>
|
||||
</properties>
|
||||
<polyline points="-26,26 -93.7407,98.1818 317.593,508 382.259,440.909"/>
|
||||
</object>
|
||||
<object id="15" x="1917.74" y="1798">
|
||||
<properties>
|
||||
<property name="boundary_type" value="barrier"/>
|
||||
</properties>
|
||||
<polyline points="-26,26 -93.7407,98.1818 285.593,472 352.259,402.909"/>
|
||||
</object>
|
||||
<object id="16" x="1399.74" y="2564">
|
||||
<properties>
|
||||
<property name="boundary_type" value="barrier"/>
|
||||
</properties>
|
||||
<polyline points="-26,26 -93.7407,98.1818 161.593,348 228.259,278.909"/>
|
||||
</object>
|
||||
<object id="17" x="1595.74" y="2372">
|
||||
<properties>
|
||||
<property name="boundary_type" value="barrier"/>
|
||||
</properties>
|
||||
<polyline points="-26,26 -93.7407,98.1818 161.593,348 226.259,280.909"/>
|
||||
</object>
|
||||
<object id="18" x="1791.74" y="2184">
|
||||
<properties>
|
||||
<property name="boundary_type" value="barrier"/>
|
||||
</properties>
|
||||
<polyline points="-26,26 -93.7407,98.1818 161.593,348 226.259,280.909"/>
|
||||
</object>
|
||||
<object id="19" x="2301.74" y="1670">
|
||||
<properties>
|
||||
<property name="boundary_type" value="barrier"/>
|
||||
</properties>
|
||||
<polyline points="-26,26 -93.7407,98.1818 161.593,348 226.259,280.909"/>
|
||||
</object>
|
||||
<object id="20" x="2489.74" y="1478">
|
||||
<properties>
|
||||
<property name="boundary_type" value="barrier"/>
|
||||
</properties>
|
||||
<polyline points="-26,26 -93.7407,98.1818 161.593,348 226.259,280.909"/>
|
||||
</object>
|
||||
<object id="21" x="2683.74" y="1284">
|
||||
<properties>
|
||||
<property name="boundary_type" value="barrier"/>
|
||||
</properties>
|
||||
<polyline points="-26,26 -93.7407,98.1818 161.593,348 226.259,280.909"/>
|
||||
</object>
|
||||
<object id="22" x="2109.74" y="2690">
|
||||
<properties>
|
||||
<property name="boundary_type" value="barrier"/>
|
||||
</properties>
|
||||
<polyline points="-26,26 -93.7407,98.1818 161.593,348 226.259,280.909"/>
|
||||
</object>
|
||||
<object id="23" x="2809.74" y="1986">
|
||||
<properties>
|
||||
<property name="boundary_type" value="barrier"/>
|
||||
</properties>
|
||||
<polyline points="-26,26 -93.7407,98.1818 161.593,348 226.259,280.909"/>
|
||||
</object>
|
||||
<object id="41" x="1069.7" y="415.152">
|
||||
<properties>
|
||||
<property name="boundary_type" value="barrier"/>
|
||||
</properties>
|
||||
<polyline points="0,0 -66.6667,-72.7273 -330.303,196.97 -266.667,260.606"/>
|
||||
</object>
|
||||
<object id="42" x="684.848" y="793.939">
|
||||
<properties>
|
||||
<property name="boundary_type" value="barrier"/>
|
||||
</properties>
|
||||
<polyline points="0,0 -66.6667,-72.7273 -330.303,196.97 -266.667,260.606"/>
|
||||
</object>
|
||||
<object id="43" x="360.606" y="1560.61">
|
||||
<properties>
|
||||
<property name="boundary_type" value="barrier"/>
|
||||
</properties>
|
||||
<polyline points="381.818,-375.758 309.091,-442.424 -330.303,196.97 -266.667,260.606"/>
|
||||
</object>
|
||||
<object id="44" x="1445.45" y="475.758">
|
||||
<properties>
|
||||
<property name="boundary_type" value="barrier"/>
|
||||
</properties>
|
||||
<polyline points="381.818,-375.758 309.091,-442.424 -330.303,196.97 -266.667,260.606"/>
|
||||
</object>
|
||||
<object id="45" x="354.545" y="2778.79">
|
||||
<properties>
|
||||
<property name="boundary_type" value="barrier"/>
|
||||
</properties>
|
||||
<polyline points="136.364,-130.303 63.6364,-190.909 -330.303,196.97 -266.667,260.606"/>
|
||||
</object>
|
||||
<object id="46" x="481.818" y="2906.06">
|
||||
<properties>
|
||||
<property name="boundary_type" value="barrier"/>
|
||||
</properties>
|
||||
<polyline points="136.364,-130.303 63.6364,-190.909 -330.303,196.97 -266.667,260.606"/>
|
||||
</object>
|
||||
<object id="47" x="2915.15" y="224.242">
|
||||
<properties>
|
||||
<property name="boundary_type" value="barrier"/>
|
||||
</properties>
|
||||
<polyline points="136.364,-130.303 63.6364,-190.909 -330.303,196.97 -266.667,260.606"/>
|
||||
</object>
|
||||
<object id="48" x="3048.48" y="351.515">
|
||||
<properties>
|
||||
<property name="boundary_type" value="barrier"/>
|
||||
</properties>
|
||||
<polyline points="136.364,-130.303 63.6364,-190.909 -330.303,196.97 -266.667,260.606"/>
|
||||
</object>
|
||||
<object id="49" x="869.697" y="1754.55">
|
||||
<properties>
|
||||
<property name="boundary_type" value="barrier"/>
|
||||
</properties>
|
||||
<polyline points="-3.0303,-3.0303 -66.6667,-66.6667 -330.303,196.97 -266.667,260.606"/>
|
||||
</object>
|
||||
<object id="50" x="2021.21" y="609.091">
|
||||
<properties>
|
||||
<property name="boundary_type" value="barrier"/>
|
||||
</properties>
|
||||
<polyline points="-3.0303,-3.0303 -66.6667,-66.6667 -330.303,196.97 -266.667,260.606"/>
|
||||
</object>
|
||||
<object id="51" x="2406.06" y="1309.09">
|
||||
<properties>
|
||||
<property name="boundary_type" value="barrier"/>
|
||||
</properties>
|
||||
<polyline points="118.182,-124.242 57.5758,-184.848 -330.303,196.97 -266.667,260.606"/>
|
||||
</object>
|
||||
<object id="52" x="1454.55" y="2266.67">
|
||||
<properties>
|
||||
<property name="boundary_type" value="barrier"/>
|
||||
</properties>
|
||||
<polyline points="118.182,-124.242 57.5758,-184.848 -330.303,196.97 -266.667,260.606"/>
|
||||
</object>
|
||||
<object id="53" x="1818.18" y="2648.48">
|
||||
<properties>
|
||||
<property name="boundary_type" value="barrier"/>
|
||||
</properties>
|
||||
<polyline points="200,-193.939 133.333,-260.606 -330.303,196.97 -266.667,260.606"/>
|
||||
</object>
|
||||
<object id="54" x="2718.18" y="1754.55">
|
||||
<properties>
|
||||
<property name="boundary_type" value="barrier"/>
|
||||
</properties>
|
||||
<polyline points="200,-193.939 133.333,-260.606 -330.303,196.97 -266.667,260.606"/>
|
||||
</object>
|
||||
<object id="55" x="2342.42" y="2596.97">
|
||||
<properties>
|
||||
<property name="boundary_type" value="barrier"/>
|
||||
</properties>
|
||||
<polyline points="60.6061,-72.7273 3.0303,-136.364 -330.303,196.97 -266.667,260.606"/>
|
||||
</object>
|
||||
<object id="56" x="2793.94" y="2151.52">
|
||||
<properties>
|
||||
<property name="boundary_type" value="barrier"/>
|
||||
</properties>
|
||||
<polyline points="60.6061,-72.7273 3.0303,-136.364 -330.303,196.97 -266.667,260.606"/>
|
||||
</object>
|
||||
</objectgroup>
|
||||
<objectgroup id="5" name="LowScoreTreasure">
|
||||
<object id="165" gid="13" x="1520" y="204" width="64" height="64"/>
|
||||
<object id="166" gid="13" x="1372" y="352" width="64" height="64"/>
|
||||
<object id="167" gid="13" x="1184" y="524" width="64" height="64"/>
|
||||
<object id="168" gid="13" x="544" y="1184" width="64" height="64"/>
|
||||
<object id="169" gid="13" x="294" y="1442" width="64" height="64"/>
|
||||
<object id="174" gid="16" x="2750" y="1234" width="64" height="64"/>
|
||||
<object id="175" gid="13" x="1562" y="1990" width="64" height="64"/>
|
||||
<object id="176" gid="13" x="1846" y="1718" width="64" height="64"/>
|
||||
<object id="177" gid="13" x="906" y="2438" width="64" height="64"/>
|
||||
<object id="178" gid="13" x="638" y="2186" width="64" height="64"/>
|
||||
<object id="179" gid="13" x="378" y="1878" width="64" height="64"/>
|
||||
<object id="180" gid="13" x="580" y="1672" width="64" height="64"/>
|
||||
<object id="181" gid="13" x="1518" y="634" width="64" height="64"/>
|
||||
<object id="182" gid="13" x="1818" y="410" width="64" height="64"/>
|
||||
<object id="183" gid="13" x="2308" y="360" width="64" height="64"/>
|
||||
<object id="184" gid="13" x="2524" y="576" width="64" height="64"/>
|
||||
<object id="186" gid="13" x="2726" y="790" width="64" height="64"/>
|
||||
<object id="187" gid="13" x="2928" y="972" width="64" height="64"/>
|
||||
<object id="192" gid="13" x="1484.85" y="3064" width="64" height="64"/>
|
||||
<object id="193" gid="13" x="1972.73" y="3048.85" width="64" height="64"/>
|
||||
<object id="194" gid="13" x="2006.06" y="2664" width="64" height="64"/>
|
||||
<object id="195" gid="13" x="312.121" y="2291.27" width="64" height="64"/>
|
||||
<object id="196" gid="13" x="503.03" y="2488.24" width="64" height="64"/>
|
||||
<object id="197" gid="13" x="606.061" y="3076.12" width="64" height="64"/>
|
||||
<object id="198" gid="13" x="833.333" y="2842.79" width="64" height="64"/>
|
||||
<object id="206" gid="13" x="2612.12" y="2064" width="64" height="64"/>
|
||||
<object id="207" gid="13" x="3030.3" y="1985.21" width="64" height="64"/>
|
||||
</objectgroup>
|
||||
<objectgroup id="6" name="GuardTower">
|
||||
<object id="188" gid="17" x="1429.33" y="1781.33" width="300" height="300"/>
|
||||
<object id="210" gid="17" x="1784.67" y="1414" width="300" height="300"/>
|
||||
<object id="211" gid="17" x="2786" y="2783.33" width="300" height="300"/>
|
||||
<object id="212" gid="17" x="532.667" y="543.333" width="300" height="300"/>
|
||||
</objectgroup>
|
||||
</map>
|
5
frontend/assets/resources/map/simple2/map.tmx.meta
Normal file
5
frontend/assets/resources/map/simple2/map.tmx.meta
Normal file
@ -0,0 +1,5 @@
|
||||
{
|
||||
"ver": "2.0.2",
|
||||
"uuid": "0fe4d0fd-d537-4440-93f7-fffda8897ab1",
|
||||
"subMetas": {}
|
||||
}
|
Loading…
Reference in New Issue
Block a user