User prompt
karakterimiz geçice yaklaşamıyor. çok yaklaşınca yeni haritaya geçelim. ve her kapıya yol yapmamışsın
Code edit (1 edits merged)
Please save this source code
User prompt
Path Explorer: Ancient Maps
Initial prompt
harita sistemi yapmalıyız kahverengi büyük noktalarla dağları küçük beyaz noktalarla yolları işaretle biz de sadece o yolardan geçebilelim hareket sistemimiz age of gibi tıkladığımız yere yavaş bir hızda ilerleyecek karakterimiz yolu takip ederek. yollar ekranın sınırlarına kadar gitsin, ekran sınırındaki yolların sonunda geçitler olsun geçitler ile haritaları birbirine bağla 12 farklı harita yap kaydet her haritada 1,2 ya da üç geçit olsun ve hangi geçidin hangi diğer haritaya geçeceğini mantıklı bir şekilde ayarla
/**** * Plugins ****/ var tween = LK.import("@upit/tween.v1"); var storage = LK.import("@upit/storage.v1"); /**** * Classes ****/ var Character = Container.expand(function () { var self = Container.call(this); var characterGraphics = self.attachAsset('character', { anchorX: 0.5, anchorY: 0.5 }); self.isMoving = false; self.targetX = 0; self.targetY = 0; self.speed = 3; self.moveTo = function (x, y) { self.targetX = x; self.targetY = y; self.isMoving = true; }; self.update = function () { if (self.isMoving) { var dx = self.targetX - self.x; var dy = self.targetY - self.y; var distance = Math.sqrt(dx * dx + dy * dy); if (distance < self.speed) { self.x = self.targetX; self.y = self.targetY; self.isMoving = false; } else { self.x += dx / distance * self.speed; self.y += dy / distance * self.speed; } } }; return self; }); var Mountain = Container.expand(function () { var self = Container.call(this); var mountainGraphics = self.attachAsset('mountain', { anchorX: 0.5, anchorY: 0.5 }); return self; }); var Passage = Container.expand(function () { var self = Container.call(this); var passageGraphics = self.attachAsset('passage', { anchorX: 0.5, anchorY: 0.5 }); self.targetMap = 0; self.targetX = 0; self.targetY = 0; return self; }); var Road = Container.expand(function () { var self = Container.call(this); var roadGraphics = self.attachAsset('road', { anchorX: 0.5, anchorY: 0.5 }); return self; }); /**** * Initialize Game ****/ var game = new LK.Game({ backgroundColor: 0x228b22 }); /**** * Game Code ****/ var currentMap = storage.currentMap || 0; var character = game.addChild(new Character()); var roads = []; var mountains = []; var passages = []; // Map data - 12 interconnected maps var mapData = [ // Map 0 { roads: [{ x: 200, y: 400 }, { x: 300, y: 400 }, { x: 400, y: 400 }, { x: 500, y: 400 }, { x: 600, y: 400 }, { x: 700, y: 400 }, { x: 800, y: 500 }, { x: 900, y: 600 }, { x: 1000, y: 700 }, { x: 1100, y: 800 }, { x: 1200, y: 900 }, { x: 1300, y: 1000 }, { x: 1400, y: 1100 }, { x: 1500, y: 1200 }, { x: 1600, y: 1300 }, { x: 1700, y: 1400 }, { x: 1800, y: 1500 }, { x: 1900, y: 1500 }, { x: 2000, y: 1500 }, { x: 1800, y: 1600 }, { x: 1800, y: 1700 }, { x: 1800, y: 1800 }, { x: 1800, y: 1900 }, { x: 1800, y: 2000 }, { x: 1800, y: 2100 }, { x: 1800, y: 2200 }, { x: 1800, y: 2300 }, { x: 1800, y: 2400 }, { x: 1800, y: 2500 }, { x: 1800, y: 2600 }, { x: 1800, y: 2700 }], mountains: [{ x: 150, y: 200 }, { x: 250, y: 150 }, { x: 350, y: 180 }, { x: 450, y: 220 }, { x: 550, y: 180 }, { x: 650, y: 200 }, { x: 750, y: 250 }, { x: 850, y: 300 }, { x: 950, y: 350 }, { x: 1050, y: 400 }, { x: 1150, y: 450 }, { x: 1250, y: 500 }, { x: 1350, y: 550 }, { x: 1450, y: 600 }, { x: 1550, y: 650 }, { x: 1650, y: 700 }], passages: [{ x: 2000, y: 1500, targetMap: 1, targetX: 100, targetY: 1500 }, { x: 1800, y: 2700, targetMap: 3, targetX: 1800, targetY: 100 }], startX: 200, startY: 400 }, // Map 1 { roads: [{ x: 100, y: 1500 }, { x: 200, y: 1500 }, { x: 300, y: 1500 }, { x: 400, y: 1400 }, { x: 500, y: 1300 }, { x: 600, y: 1200 }, { x: 700, y: 1100 }, { x: 800, y: 1000 }, { x: 900, y: 900 }, { x: 1000, y: 800 }, { x: 1100, y: 700 }, { x: 1200, y: 600 }, { x: 1300, y: 500 }, { x: 1400, y: 400 }, { x: 1500, y: 300 }, { x: 1600, y: 200 }, { x: 48, y: 1500 }, { x: 1600, y: 150 }, { x: 1600, y: 100 }, { x: 1600, y: 48 }], mountains: [{ x: 200, y: 1700 }, { x: 300, y: 1800 }, { x: 400, y: 1700 }, { x: 500, y: 1600 }, { x: 600, y: 1500 }, { x: 700, y: 1400 }, { x: 800, y: 1300 }, { x: 900, y: 1200 }, { x: 1000, y: 1100 }, { x: 1100, y: 1000 }, { x: 1200, y: 900 }, { x: 1300, y: 800 }], passages: [{ x: 48, y: 1500, targetMap: 0, targetX: 2000, targetY: 1500 }, { x: 1600, y: 48, targetMap: 2, targetX: 1600, targetY: 2700 }], startX: 100, startY: 1500 }, // Map 2 { roads: [{ x: 1600, y: 2700 }, { x: 1600, y: 2600 }, { x: 1600, y: 2500 }, { x: 1600, y: 2400 }, { x: 1600, y: 2300 }, { x: 1600, y: 2200 }, { x: 1600, y: 2100 }, { x: 1600, y: 2000 }, { x: 1600, y: 1900 }, { x: 1600, y: 1800 }, { x: 1600, y: 1700 }, { x: 1600, y: 1600 }, { x: 1600, y: 1500 }, { x: 1600, y: 1400 }, { x: 1600, y: 1300 }, { x: 1600, y: 1200 }], mountains: [{ x: 1400, y: 2600 }, { x: 1500, y: 2500 }, { x: 1700, y: 2500 }, { x: 1800, y: 2600 }, { x: 1400, y: 2400 }, { x: 1800, y: 2400 }, { x: 1400, y: 2200 }, { x: 1800, y: 2200 }, { x: 1400, y: 2000 }, { x: 1800, y: 2000 }, { x: 1400, y: 1800 }, { x: 1800, y: 1800 }], passages: [{ x: 1600, y: 2732, targetMap: 1, targetX: 1600, targetY: 48 }, { x: 1600, y: 1100, targetMap: 4, targetX: 1600, targetY: 2600 }], startX: 1600, startY: 2700 }, // Map 3 { roads: [{ x: 1800, y: 100 }, { x: 1700, y: 200 }, { x: 1600, y: 300 }, { x: 1500, y: 400 }, { x: 1400, y: 500 }, { x: 1300, y: 600 }, { x: 1200, y: 700 }, { x: 1100, y: 800 }, { x: 1000, y: 900 }, { x: 900, y: 1000 }, { x: 800, y: 1100 }, { x: 700, y: 1200 }, { x: 600, y: 1300 }, { x: 500, y: 1400 }, { x: 400, y: 1500 }, { x: 300, y: 1600 }, { x: 1800, y: 48 }, { x: 250, y: 1600 }, { x: 200, y: 1600 }], mountains: [{ x: 1900, y: 200 }, { x: 1800, y: 300 }, { x: 1700, y: 400 }, { x: 1600, y: 500 }, { x: 1500, y: 600 }, { x: 1400, y: 700 }, { x: 1300, y: 800 }, { x: 1200, y: 900 }, { x: 1100, y: 1000 }, { x: 1000, y: 1100 }, { x: 900, y: 1200 }, { x: 800, y: 1300 }], passages: [{ x: 1800, y: 48, targetMap: 0, targetX: 1800, targetY: 2700 }, { x: 200, y: 1600, targetMap: 5, targetX: 1900, targetY: 1600 }], startX: 1800, startY: 100 }, // Map 4 { roads: [{ x: 1600, y: 2600 }, { x: 1500, y: 2500 }, { x: 1400, y: 2400 }, { x: 1300, y: 2300 }, { x: 1200, y: 2200 }, { x: 1100, y: 2100 }, { x: 1000, y: 2000 }, { x: 900, y: 1900 }, { x: 800, y: 1800 }, { x: 700, y: 1700 }, { x: 600, y: 1600 }, { x: 500, y: 1500 }], mountains: [{ x: 1700, y: 2700 }, { x: 1600, y: 2800 }, { x: 1500, y: 2700 }, { x: 1400, y: 2600 }, { x: 1300, y: 2500 }, { x: 1200, y: 2400 }, { x: 1100, y: 2300 }, { x: 1000, y: 2200 }], passages: [{ x: 1600, y: 2732, targetMap: 2, targetX: 1600, targetY: 1100 }, { x: 400, y: 1500, targetMap: 6, targetX: 1800, targetY: 1500 }], startX: 1600, startY: 2600 }, // Map 5 { roads: [{ x: 1900, y: 1600 }, { x: 1800, y: 1600 }, { x: 1700, y: 1600 }, { x: 1600, y: 1600 }, { x: 1500, y: 1600 }, { x: 1400, y: 1600 }, { x: 1300, y: 1600 }, { x: 1200, y: 1600 }, { x: 1100, y: 1600 }, { x: 1000, y: 1600 }, { x: 900, y: 1600 }, { x: 800, y: 1600 }, { x: 750, y: 1600 }, { x: 700, y: 1600 }, { x: 1950, y: 1600 }, { x: 2000, y: 1600 }], mountains: [{ x: 1900, y: 1400 }, { x: 1800, y: 1400 }, { x: 1900, y: 1800 }, { x: 1800, y: 1800 }, { x: 1700, y: 1400 }, { x: 1600, y: 1400 }, { x: 1700, y: 1800 }, { x: 1600, y: 1800 }], passages: [{ x: 2000, y: 1600, targetMap: 3, targetX: 200, targetY: 1600 }, { x: 700, y: 1600, targetMap: 7, targetX: 1400, targetY: 1600 }], startX: 1900, startY: 1600 }, // Map 6 { roads: [{ x: 1800, y: 1500 }, { x: 1700, y: 1400 }, { x: 1600, y: 1300 }, { x: 1500, y: 1200 }, { x: 1400, y: 1100 }, { x: 1300, y: 1000 }, { x: 1200, y: 900 }, { x: 1100, y: 800 }, { x: 1000, y: 700 }, { x: 900, y: 600 }, { x: 800, y: 500 }, { x: 700, y: 400 }, { x: 1850, y: 1500 }, { x: 1900, y: 1500 }, { x: 1950, y: 1500 }, { x: 2000, y: 1500 }, { x: 650, y: 400 }, { x: 600, y: 400 }], mountains: [{ x: 1900, y: 1600 }, { x: 1800, y: 1700 }, { x: 1700, y: 1600 }, { x: 1600, y: 1500 }, { x: 1500, y: 1400 }, { x: 1400, y: 1300 }, { x: 1300, y: 1200 }, { x: 1200, y: 1100 }], passages: [{ x: 2000, y: 1500, targetMap: 4, targetX: 400, targetY: 1500 }, { x: 600, y: 400, targetMap: 8, targetX: 1500, targetY: 2300 }], startX: 1800, startY: 1500 }, // Map 7 { roads: [{ x: 1400, y: 1600 }, { x: 1300, y: 1500 }, { x: 1200, y: 1400 }, { x: 1100, y: 1300 }, { x: 1000, y: 1200 }, { x: 900, y: 1100 }, { x: 800, y: 1000 }, { x: 700, y: 900 }, { x: 600, y: 800 }, { x: 500, y: 700 }, { x: 400, y: 600 }, { x: 300, y: 500 }, { x: 1450, y: 1600 }, { x: 1500, y: 1600 }, { x: 250, y: 500 }, { x: 200, y: 500 }], mountains: [{ x: 1500, y: 1700 }, { x: 1400, y: 1800 }, { x: 1300, y: 1700 }, { x: 1200, y: 1600 }, { x: 1100, y: 1500 }, { x: 1000, y: 1400 }, { x: 900, y: 1300 }, { x: 800, y: 1200 }], passages: [{ x: 1500, y: 1600, targetMap: 5, targetX: 700, targetY: 1600 }, { x: 200, y: 500, targetMap: 9, targetX: 1800, targetY: 500 }], startX: 1400, startY: 1600 }, // Map 8 { roads: [{ x: 1500, y: 2300 }, { x: 1400, y: 2200 }, { x: 1300, y: 2100 }, { x: 1200, y: 2000 }, { x: 1100, y: 1900 }, { x: 1000, y: 1800 }, { x: 900, y: 1700 }, { x: 800, y: 1600 }, { x: 700, y: 1500 }, { x: 600, y: 1400 }, { x: 500, y: 1300 }, { x: 400, y: 1200 }, { x: 1500, y: 2400 }, { x: 1500, y: 2500 }, { x: 1500, y: 2600 }, { x: 1500, y: 2700 }, { x: 1500, y: 2732 }, { x: 350, y: 1200 }, { x: 300, y: 1200 }], mountains: [{ x: 1600, y: 2400 }, { x: 1500, y: 2500 }, { x: 1400, y: 2400 }, { x: 1300, y: 2300 }, { x: 1200, y: 2200 }, { x: 1100, y: 2100 }, { x: 1000, y: 2000 }, { x: 900, y: 1900 }], passages: [{ x: 1500, y: 2732, targetMap: 6, targetX: 600, targetY: 400 }, { x: 300, y: 1200, targetMap: 10, targetX: 1700, targetY: 1200 }], startX: 1500, startY: 2300 }, // Map 9 { roads: [{ x: 1800, y: 500 }, { x: 1700, y: 600 }, { x: 1600, y: 700 }, { x: 1500, y: 800 }, { x: 1400, y: 900 }, { x: 1300, y: 1000 }, { x: 1200, y: 1100 }, { x: 1100, y: 1200 }, { x: 1000, y: 1300 }, { x: 900, y: 1400 }, { x: 800, y: 1500 }, { x: 700, y: 1600 }, { x: 1850, y: 500 }, { x: 1900, y: 500 }, { x: 1950, y: 500 }, { x: 2000, y: 500 }, { x: 650, y: 1600 }, { x: 600, y: 1600 }], mountains: [{ x: 1900, y: 400 }, { x: 1800, y: 300 }, { x: 1700, y: 400 }, { x: 1600, y: 500 }, { x: 1500, y: 600 }, { x: 1400, y: 700 }, { x: 1300, y: 800 }, { x: 1200, y: 900 }], passages: [{ x: 2000, y: 500, targetMap: 7, targetX: 200, targetY: 500 }, { x: 600, y: 1600, targetMap: 11, targetX: 1500, targetY: 800 }], startX: 1800, startY: 500 }, // Map 10 { roads: [{ x: 1700, y: 1200 }, { x: 1600, y: 1100 }, { x: 1500, y: 1000 }, { x: 1400, y: 900 }, { x: 1300, y: 800 }, { x: 1200, y: 700 }, { x: 1100, y: 600 }, { x: 1000, y: 500 }, { x: 900, y: 400 }, { x: 800, y: 300 }, { x: 700, y: 200 }, { x: 600, y: 100 }, { x: 1750, y: 1200 }, { x: 1800, y: 1200 }, { x: 600, y: 75 }, { x: 600, y: 48 }], mountains: [{ x: 1800, y: 1300 }, { x: 1700, y: 1400 }, { x: 1600, y: 1300 }, { x: 1500, y: 1200 }, { x: 1400, y: 1100 }, { x: 1300, y: 1000 }, { x: 1200, y: 900 }, { x: 1100, y: 800 }], passages: [{ x: 1800, y: 1200, targetMap: 8, targetX: 300, targetY: 1200 }, { x: 600, y: 48, targetMap: 11, targetX: 600, targetY: 2600 }], startX: 1700, startY: 1200 }, // Map 11 { roads: [{ x: 1500, y: 800 }, { x: 1400, y: 900 }, { x: 1300, y: 1000 }, { x: 1200, y: 1100 }, { x: 1100, y: 1200 }, { x: 1000, y: 1300 }, { x: 900, y: 1400 }, { x: 800, y: 1500 }, { x: 700, y: 1600 }, { x: 600, y: 1700 }, { x: 600, y: 1800 }, { x: 600, y: 1900 }, { x: 600, y: 2000 }, { x: 600, y: 2100 }, { x: 600, y: 2200 }, { x: 600, y: 2300 }, { x: 600, y: 2400 }, { x: 600, y: 2500 }, { x: 600, y: 2600 }, { x: 1500, y: 750 }, { x: 1500, y: 700 }, { x: 600, y: 2650 }, { x: 600, y: 2700 }, { x: 600, y: 2732 }], mountains: [{ x: 1600, y: 700 }, { x: 1500, y: 600 }, { x: 1400, y: 700 }, { x: 1300, y: 800 }, { x: 1200, y: 900 }, { x: 1100, y: 1000 }, { x: 1000, y: 1100 }, { x: 900, y: 1200 }, { x: 500, y: 1700 }, { x: 700, y: 1700 }, { x: 500, y: 1900 }, { x: 700, y: 1900 }], passages: [{ x: 1500, y: 700, targetMap: 9, targetX: 600, targetY: 1600 }, { x: 600, y: 2732, targetMap: 10, targetX: 600, targetY: 48 }], startX: 1500, startY: 800 }]; function loadMap(mapIndex) { // Clear existing elements for (var i = 0; i < roads.length; i++) { roads[i].destroy(); } for (var i = 0; i < mountains.length; i++) { mountains[i].destroy(); } for (var i = 0; i < passages.length; i++) { passages[i].destroy(); } roads = []; mountains = []; passages = []; var map = mapData[mapIndex]; // Create roads for (var i = 0; i < map.roads.length; i++) { var road = game.addChild(new Road()); road.x = map.roads[i].x; road.y = map.roads[i].y; roads.push(road); } // Create mountains for (var i = 0; i < map.mountains.length; i++) { var mountain = game.addChild(new Mountain()); mountain.x = map.mountains[i].x; mountain.y = map.mountains[i].y; mountains.push(mountain); } // Create passages for (var i = 0; i < map.passages.length; i++) { var passage = game.addChild(new Passage()); passage.x = map.passages[i].x; passage.y = map.passages[i].y; passage.targetMap = map.passages[i].targetMap; passage.targetX = map.passages[i].targetX; passage.targetY = map.passages[i].targetY; passages.push(passage); } // Set character position if (character.x === 0 && character.y === 0) { character.x = map.startX; character.y = map.startY; } } function findNearestRoad(x, y) { var nearestRoad = null; var minDistance = Infinity; for (var i = 0; i < roads.length; i++) { var road = roads[i]; var dx = x - road.x; var dy = y - road.y; var distance = Math.sqrt(dx * dx + dy * dy); if (distance < minDistance) { minDistance = distance; nearestRoad = road; } } return nearestRoad; } function checkPassageCollision() { for (var i = 0; i < passages.length; i++) { var passage = passages[i]; var dx = character.x - passage.x; var dy = character.y - passage.y; var distance = Math.sqrt(dx * dx + dy * dy); if (distance < 80) { currentMap = passage.targetMap; storage.currentMap = currentMap; character.x = passage.targetX; character.y = passage.targetY; character.isMoving = false; loadMap(currentMap); break; } } } // Initialize first map loadMap(currentMap); // Map info display var mapText = new Text2('Map: ' + (currentMap + 1) + '/12', { size: 60, fill: 0xFFFFFF }); mapText.anchor.set(0, 0); LK.gui.topRight.addChild(mapText); game.down = function (x, y, obj) { var nearestRoad = findNearestRoad(x, y); if (nearestRoad) { character.moveTo(nearestRoad.x, nearestRoad.y); } }; game.update = function () { checkPassageCollision(); mapText.setText('Map: ' + (currentMap + 1) + '/12'); };
===================================================================
--- original.js
+++ change.js
@@ -136,8 +136,50 @@
y: 1400
}, {
x: 1800,
y: 1500
+ }, {
+ x: 1900,
+ y: 1500
+ }, {
+ x: 2000,
+ y: 1500
+ }, {
+ x: 1800,
+ y: 1600
+ }, {
+ x: 1800,
+ y: 1700
+ }, {
+ x: 1800,
+ y: 1800
+ }, {
+ x: 1800,
+ y: 1900
+ }, {
+ x: 1800,
+ y: 2000
+ }, {
+ x: 1800,
+ y: 2100
+ }, {
+ x: 1800,
+ y: 2200
+ }, {
+ x: 1800,
+ y: 2300
+ }, {
+ x: 1800,
+ y: 2400
+ }, {
+ x: 1800,
+ y: 2500
+ }, {
+ x: 1800,
+ y: 2600
+ }, {
+ x: 1800,
+ y: 2700
}],
mountains: [{
x: 150,
y: 200
@@ -252,8 +294,20 @@
y: 300
}, {
x: 1600,
y: 200
+ }, {
+ x: 48,
+ y: 1500
+ }, {
+ x: 1600,
+ y: 150
+ }, {
+ x: 1600,
+ y: 100
+ }, {
+ x: 1600,
+ y: 48
}],
mountains: [{
x: 200,
y: 1700
@@ -460,8 +514,17 @@
y: 1500
}, {
x: 300,
y: 1600
+ }, {
+ x: 1800,
+ y: 48
+ }, {
+ x: 250,
+ y: 1600
+ }, {
+ x: 200,
+ y: 1600
}],
mountains: [{
x: 1900,
y: 200
@@ -632,8 +695,20 @@
y: 1600
}, {
x: 800,
y: 1600
+ }, {
+ x: 750,
+ y: 1600
+ }, {
+ x: 700,
+ y: 1600
+ }, {
+ x: 1950,
+ y: 1600
+ }, {
+ x: 2000,
+ y: 1600
}],
mountains: [{
x: 1900,
y: 1400
@@ -712,8 +787,26 @@
y: 500
}, {
x: 700,
y: 400
+ }, {
+ x: 1850,
+ y: 1500
+ }, {
+ x: 1900,
+ y: 1500
+ }, {
+ x: 1950,
+ y: 1500
+ }, {
+ x: 2000,
+ y: 1500
+ }, {
+ x: 650,
+ y: 400
+ }, {
+ x: 600,
+ y: 400
}],
mountains: [{
x: 1900,
y: 1600
@@ -792,8 +885,20 @@
y: 600
}, {
x: 300,
y: 500
+ }, {
+ x: 1450,
+ y: 1600
+ }, {
+ x: 1500,
+ y: 1600
+ }, {
+ x: 250,
+ y: 500
+ }, {
+ x: 200,
+ y: 500
}],
mountains: [{
x: 1500,
y: 1700
@@ -872,8 +977,29 @@
y: 1300
}, {
x: 400,
y: 1200
+ }, {
+ x: 1500,
+ y: 2400
+ }, {
+ x: 1500,
+ y: 2500
+ }, {
+ x: 1500,
+ y: 2600
+ }, {
+ x: 1500,
+ y: 2700
+ }, {
+ x: 1500,
+ y: 2732
+ }, {
+ x: 350,
+ y: 1200
+ }, {
+ x: 300,
+ y: 1200
}],
mountains: [{
x: 1600,
y: 2400
@@ -952,8 +1078,26 @@
y: 1500
}, {
x: 700,
y: 1600
+ }, {
+ x: 1850,
+ y: 500
+ }, {
+ x: 1900,
+ y: 500
+ }, {
+ x: 1950,
+ y: 500
+ }, {
+ x: 2000,
+ y: 500
+ }, {
+ x: 650,
+ y: 1600
+ }, {
+ x: 600,
+ y: 1600
}],
mountains: [{
x: 1900,
y: 400
@@ -1032,8 +1176,20 @@
y: 200
}, {
x: 600,
y: 100
+ }, {
+ x: 1750,
+ y: 1200
+ }, {
+ x: 1800,
+ y: 1200
+ }, {
+ x: 600,
+ y: 75
+ }, {
+ x: 600,
+ y: 48
}],
mountains: [{
x: 1800,
y: 1300
@@ -1133,8 +1289,23 @@
y: 2500
}, {
x: 600,
y: 2600
+ }, {
+ x: 1500,
+ y: 750
+ }, {
+ x: 1500,
+ y: 700
+ }, {
+ x: 600,
+ y: 2650
+ }, {
+ x: 600,
+ y: 2700
+ }, {
+ x: 600,
+ y: 2732
}],
mountains: [{
x: 1600,
y: 700
@@ -1250,9 +1421,12 @@
}
function checkPassageCollision() {
for (var i = 0; i < passages.length; i++) {
var passage = passages[i];
- if (character.intersects(passage)) {
+ var dx = character.x - passage.x;
+ var dy = character.y - passage.y;
+ var distance = Math.sqrt(dx * dx + dy * dy);
+ if (distance < 80) {
currentMap = passage.targetMap;
storage.currentMap = currentMap;
character.x = passage.targetX;
character.y = passage.targetY;
mağara girişi. In-Game asset. 2d. High contrast. No shadows
ortaçağ atlı araba ve tüccar . No background. Transparent background. Blank background. No shadows. 2d. In-Game asset. flat
aynısı arkaplansız
medieval X close button. In-Game asset. 2d. High contrast. No shadows
altın kesesi. In-Game asset. 2d. High contrast. No shadows
elma. In-Game asset. 2d. High contrast. No shadows
ortaçağ ticari tuz. In-Game asset. 2d. High contrast. No shadows
çivi ile duvara asılı hafif yıpranmış parşomen. In-Game asset. 2d. High contrast. No shadows
medieval envanter bag. In-Game asset. 2d. High contrast. No shadows
minecraft envaneri gibi kutucuklar sadece kutucuklar başka uı elementi yok. ortaçağ temasında bir çanta içi hissi vermeli dokusu . No background. Transparent background. Blank background. No shadows. 2d. In-Game asset. flat
bir ortaçağ eşyası bize hız veriyor ne olur bilmiyorum. In-Game asset. 2d. High contrast. No shadows
medieval sword. In-Game asset. 2d. High contrast. No shadows