Compare commits
1 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| cdfe4ddf1f |
@@ -1,14 +0,0 @@
|
|||||||
{
|
|
||||||
"automappingRulesFile": "",
|
|
||||||
"commands": [
|
|
||||||
],
|
|
||||||
"compatibilityVersion": 1100,
|
|
||||||
"extensionsPath": "extensions",
|
|
||||||
"folders": [
|
|
||||||
"."
|
|
||||||
],
|
|
||||||
"properties": [
|
|
||||||
],
|
|
||||||
"propertyTypes": [
|
|
||||||
]
|
|
||||||
}
|
|
||||||
@@ -1,37 +0,0 @@
|
|||||||
{
|
|
||||||
"Map/SizeTest": {
|
|
||||||
"height": 4300,
|
|
||||||
"width": 2
|
|
||||||
},
|
|
||||||
"activeFile": "assets/level1.tmx",
|
|
||||||
"expandedProjectPaths": [
|
|
||||||
],
|
|
||||||
"fileStates": {
|
|
||||||
"assets/level1.tmx": {
|
|
||||||
"scale": 0.95296875,
|
|
||||||
"selectedLayer": 0,
|
|
||||||
"viewCenter": {
|
|
||||||
"x": 480.07870142646334,
|
|
||||||
"y": 320.05246761764226
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"assets/tiles/terrain_atlas.tsx": {
|
|
||||||
"scaleInDock": 1,
|
|
||||||
"scaleInEditor": 1
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"last.imagePath": "C:/Users/User/Downloads/git/arcade/assets/tiles",
|
|
||||||
"map.lastUsedFormat": "tmx",
|
|
||||||
"map.layerDataFormat": null,
|
|
||||||
"map.renderOrder": null,
|
|
||||||
"openFiles": [
|
|
||||||
"assets/level1.tmx",
|
|
||||||
"assets/tiles/terrain_atlas.tsx"
|
|
||||||
],
|
|
||||||
"project": "Game.tiled-project",
|
|
||||||
"recentFiles": [
|
|
||||||
"assets/tiles/terrain_atlas.tsx",
|
|
||||||
"assets/level1.tmx"
|
|
||||||
],
|
|
||||||
"tileset.lastUsedFormat": "tsx"
|
|
||||||
}
|
|
||||||
@@ -1,9 +0,0 @@
|
|||||||
<?xml version="1.0" encoding="UTF-8"?>
|
|
||||||
<map version="1.10" tiledversion="1.10.2" orientation="orthogonal" renderorder="left-down" width="30" height="20" tilewidth="32" tileheight="32" infinite="0" nextlayerid="3" nextobjectid="1">
|
|
||||||
<tileset firstgid="1" source="tiles/terrain_atlas.tsx"/>
|
|
||||||
<layer id="2" name="flor" width="30" height="20">
|
|
||||||
<data encoding="base64">
|
|
||||||
ygIAAMoCAADKAgAAygIAAMoCAADKAgAAygIAAMsCAACKAgAAyQIAAMoCAADKAgAAygIAAMoCAADKAgAAygIAAMoCAADKAgAAygIAAMoCAADKAgAAygIAAMoCAADKAgAAygIAAMoCAADKAgAAygIAAMoCAADKAgAAygIAAMoCAADKAgAAygIAAMoCAADKAgAAygIAAMsCAACKAgAAyQIAAMoCAADKAgAAygIAAMoCAADKAgAAygIAAMoCAADKAgAAygIAAMoCAADKAgAAygIAAMoCAADKAgAAygIAAMoCAADKAgAAygIAAMoCAADKAgAAygIAAMoCAADKAgAAygIAAMoCAADKAgAAygIAAMsCAACKAgAAyQIAAMoCAADKAgAAygIAAMoCAADKAgAAygIAAMoCAADKAgAAygIAAMoCAADKAgAAygIAAMoCAADKAgAAygIAAMoCAADKAgAAygIAAMoCAADKAgAAygIAAMoCAADKAgAAygIAAMoCAADKAgAAygIAAMsCAACKAgAAyQIAAMoCAADKAgAAygIAAMoCAADKAgAAygIAAMoCAADKAgAAygIAAMoCAADKAgAAygIAAMoCAADKAgAAygIAAMoCAADKAgAAygIAAMoCAADKAgAAygIAAMoCAADKAgAAygIAAMoCAADKAgAAygIAAMsCAACKAgAAyQIAAMoCAADKAgAAygIAAMoCAADKAgAAygIAAMoCAADKAgAAygIAAMoCAADKAgAAygIAAMoCAADKAgAAygIAAMoCAADKAgAAygIAAMoCAADKAgAAygIAAMoCAADKAgAAygIAAMoCAADKAgAAygIAAMsCAACKAgAAyQIAAMoCAADKAgAAygIAAMoCAADKAgAAygIAAMoCAADKAgAAygIAAMoCAADKAgAAygIAAMoCAADKAgAAygIAAMoCAADKAgAAygIAAMoCAADKAgAAygIAAMoCAADKAgAAygIAAMoCAADKAgAAygIAAMsCAACKAgAAyQIAAMoCAADKAgAAygIAAMoCAADKAgAAygIAAMoCAADKAgAAygIAAMoCAADKAgAAygIAAMoCAADKAgAAygIAAMoCAADKAgAAygIAAMoCAADKAgAAygIAAMoCAADKAgAAygIAAMoCAADKAgAAygIAAMsCAACKAgAAyQIAAMoCAADKAgAAygIAAMoCAADKAgAAygIAAMoCAADKAgAAygIAAMoCAADKAgAAygIAAMoCAADKAgAAygIAAMoCAADKAgAAygIAAMoCAADKAgAAygIAAMoCAADKAgAAygIAAMoCAADKAgAAygIAAMsCAACKAgAAyQIAAMoCAADKAgAAygIAAMoCAADKAgAAygIAAMoCAADKAgAAygIAAMoCAADKAgAAygIAAMoCAADKAgAAygIAAMoCAADKAgAAygIAAMoCAADKAgAAygIAAMoCAADKAgAAygIAAMoCAADKAgAAygIAAMsCAACKAgAAyQIAAMoCAADKAgAAygIAAMoCAADKAgAAygIAAMoCAADKAgAAygIAAMoCAADKAgAAygIAAMoCAADKAgAAygIAAMoCAADKAgAAygIAAMoCAADKAgAAygIAAMoCAADKAgAAygIAAMoCAADKAgAAygIAAMsCAACKAgAAyQIAAMoCAADKAgAAygIAAMoCAADKAgAAygIAAMoCAADKAgAAygIAAMoCAADKAgAAygIAAMoCAADKAgAAygIAAMoCAADKAgAAygIAAMoCAADKAgAAygIAAMoCAADKAgAAygIAAMoCAADKAgAAygIAAMsCAACKAgAAyQIAAMoCAADKAgAAygIAAMoCAADKAgAAygIAAMoCAADKAgAAygIAAMoCAADKAgAAygIAAMoCAADKAgAAygIAAMoCAADKAgAAygIAAMoCAADKAgAAygIAAMoCAADKAgAAygIAAMoCAADKAgAAygIAAMsCAACKAgAAyQIAAMoCAADKAgAAygIAAMoCAADKAgAAygIAAMoCAADKAgAAygIAAMoCAADKAgAAygIAAMoCAADKAgAAygIAAMoCAADKAgAAygIAAMoCAADKAgAAygIAAMoCAADKAgAAygIAAMoCAADKAgAAygIAAMsCAACKAgAAyQIAAMoCAADKAgAAygIAAMoCAADKAgAAygIAAMoCAADKAgAAygIAAMoCAADKAgAAygIAAMoCAADKAgAAygIAAMoCAADKAgAAygIAAMoCAADKAgAAygIAAMoCAADKAgAAygIAAMoCAADKAgAAygIAAMsCAACKAgAAyQIAAMoCAADKAgAAygIAAMoCAADKAgAAygIAAMoCAADKAgAAygIAAMoCAADKAgAAygIAAMoCAADKAgAAygIAAMoCAADKAgAAygIAAMoCAADKAgAAygIAAMoCAADKAgAAygIAAMoCAADKAgAAygIAAMsCAACKAgAAyQIAAMoCAADKAgAAygIAAMoCAADKAgAAygIAAMoCAADKAgAAygIAAMoCAADKAgAAygIAAMoCAADKAgAAygIAAMoCAADKAgAAygIAAMoCAADKAgAAygIAAMoCAADKAgAAygIAAMoCAADKAgAAygIAAMsCAACKAgAAyQIAAMoCAADKAgAAygIAAMoCAADKAgAAygIAAMoCAADKAgAAygIAAMoCAADKAgAAygIAAMoCAADKAgAAygIAAMoCAADKAgAAygIAAMoCAADKAgAAygIAAMoCAADKAgAAygIAAMoCAADKAgAAygIAAMsCAACKAgAAyQIAAMoCAADKAgAAygIAAMoCAADKAgAAygIAAMoCAADKAgAAygIAAMoCAADKAgAAygIAAMoCAADKAgAAygIAAMoCAADKAgAAygIAAMoCAADKAgAAygIAAMoCAADKAgAAygIAAMoCAADKAgAAygIAAMsCAACKAgAAyQIAAMoCAADKAgAAygIAAMoCAADKAgAAygIAAMoCAADKAgAAygIAAMoCAADKAgAAygIAAMoCAADKAgAAygIAAMoCAADKAgAAygIAAMoCAADKAgAAygIAAMoCAADKAgAAygIAAMoCAADKAgAAygIAAMsCAACKAgAAyQIAAMoCAADKAgAAygIAAMoCAADKAgAAygIAAMoCAADKAgAAygIAAMoCAADKAgAAygIAAMoCAADKAgAAygIAAMoCAADKAgAAygIAAMoCAADKAgAA
|
|
||||||
</data>
|
|
||||||
</layer>
|
|
||||||
</map>
|
|
||||||
Binary file not shown.
|
Before Width: | Height: | Size: 12 KiB |
Binary file not shown.
|
Before Width: | Height: | Size: 211 KiB |
Binary file not shown.
|
Before Width: | Height: | Size: 328 KiB |
@@ -1,4 +0,0 @@
|
|||||||
<?xml version="1.0" encoding="UTF-8"?>
|
|
||||||
<tileset version="1.10" tiledversion="1.10.2" name="terrain_atlas" tilewidth="32" tileheight="32" tilecount="1024" columns="32">
|
|
||||||
<image source="terrain_atlas.png" width="1024" height="1024"/>
|
|
||||||
</tileset>
|
|
||||||
@@ -1,83 +0,0 @@
|
|||||||
import arcade
|
|
||||||
|
|
||||||
SCREEN_WIDTH = 800
|
|
||||||
SCREEN_HEIGHT = 600
|
|
||||||
|
|
||||||
class Player(arcade.Sprite):
|
|
||||||
def __init__(self):
|
|
||||||
super().__init__(
|
|
||||||
':resources:/images/animated_characters/female_adventurer/femaleAdventurer_idle.png',
|
|
||||||
scale = 1
|
|
||||||
)
|
|
||||||
self.center_x = SCREEN_WIDTH//2
|
|
||||||
self.center_y = SCREEN_HEIGHT//2
|
|
||||||
#self.texture_left = arcade.SpriteSheet('./tiles/gold.png').get_texture_grid((64,64),4,4)
|
|
||||||
|
|
||||||
class Object(arcade.Sprite):
|
|
||||||
def __init__(self,x,y):
|
|
||||||
super().__init__()
|
|
||||||
self.textures = arcade.SpriteSheet('./assets/tiles/BODY_animation.png').get_texture_grid((64,64),8,8)
|
|
||||||
self.center_x = x
|
|
||||||
self.center_y = y
|
|
||||||
self.cur_texture = 0
|
|
||||||
self.set_texture(self.cur_texture)
|
|
||||||
self.timer = 0
|
|
||||||
|
|
||||||
def update(self,delta_time):
|
|
||||||
self.timer += delta_time
|
|
||||||
if self.timer >= 0.5:
|
|
||||||
if self.cur_texture >= len(self.textures)-1:
|
|
||||||
self.cur_texture = 0
|
|
||||||
else:
|
|
||||||
self.cur_texture += 1
|
|
||||||
self.timer = 0
|
|
||||||
self.set_texture(self.cur_texture)
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
class MainView(arcade.View):
|
|
||||||
def __init__(self):
|
|
||||||
super().__init__()
|
|
||||||
self.background_color = (100,100,200)
|
|
||||||
self.player = Player()
|
|
||||||
self.sprite_list = arcade.SpriteList()
|
|
||||||
self.sprite_list.append(self.player)
|
|
||||||
self.sprite_list.append(Object(100,50))
|
|
||||||
|
|
||||||
self.tilemap = arcade.load_tilemap('./assets/level1.tmx', scaling=1)
|
|
||||||
self.flor_list = self.tilemap.sprite_lists["flor"]
|
|
||||||
|
|
||||||
def on_update(self,delta_time):
|
|
||||||
self.sprite_list.update()
|
|
||||||
|
|
||||||
def on_draw(self):
|
|
||||||
self.clear()
|
|
||||||
self.flor_list.draw()
|
|
||||||
arcade.draw_circle_filled(400,300,100,(255,255,0))
|
|
||||||
arcade.draw_circle_filled(350,330,20,(0,0,0))
|
|
||||||
arcade.draw_arc_outline(400,280,150,100,(0,0,0),200,340,10)
|
|
||||||
self.sprite_list.draw()
|
|
||||||
arcade.draw_circle_filled(450,330,20,(0,0,0))
|
|
||||||
|
|
||||||
def on_key_press(self,key,mod):
|
|
||||||
if key == arcade.key.A:
|
|
||||||
self.player.change_x = -5
|
|
||||||
elif key == arcade.key.D:
|
|
||||||
self.player.change_x = 5
|
|
||||||
elif key == arcade.key.W:
|
|
||||||
self.player.change_y = 5
|
|
||||||
elif key == arcade.key.S:
|
|
||||||
self.player.change_y = -5
|
|
||||||
|
|
||||||
def on_key_release(self,key,mod):
|
|
||||||
if key == arcade.key.A or key == arcade.key.D:
|
|
||||||
self.player.change_x = 0
|
|
||||||
if key == arcade.key.W or key == arcade.key.S:
|
|
||||||
self.player.change_y = 0
|
|
||||||
|
|
||||||
|
|
||||||
if __name__ == '__main__':
|
|
||||||
window = arcade.Window(SCREEN_WIDTH,SCREEN_HEIGHT,'Игра с видом сверху')
|
|
||||||
view = MainView()
|
|
||||||
window.show_view(view)
|
|
||||||
arcade.run()
|
|
||||||
@@ -0,0 +1,91 @@
|
|||||||
|
import arcade
|
||||||
|
from random import randint
|
||||||
|
|
||||||
|
class MainView(arcade.View):
|
||||||
|
def __init__(self):
|
||||||
|
super().__init__()
|
||||||
|
self.background_color = (100,100,200)
|
||||||
|
self.engine = arcade.PymunkPhysicsEngine(gravity=(0, 0))
|
||||||
|
self.key_up = False
|
||||||
|
self.key_down = False
|
||||||
|
self.key_left = False
|
||||||
|
self.key_right = False
|
||||||
|
|
||||||
|
self.objects = arcade.SpriteList()
|
||||||
|
for _ in range(10):
|
||||||
|
self.objects.append(
|
||||||
|
arcade.Sprite(
|
||||||
|
':resources:/images/tiles/bomb.png',
|
||||||
|
scale=0.5,
|
||||||
|
center_x = randint(0,800),
|
||||||
|
center_y = randint(0,800)
|
||||||
|
)
|
||||||
|
)
|
||||||
|
self.engine.add_sprite_list(
|
||||||
|
self.objects,
|
||||||
|
mass=1,
|
||||||
|
friction=0.0,
|
||||||
|
elasticity=0.0,
|
||||||
|
moment_of_inertia=float('inf'),
|
||||||
|
damping=0.1
|
||||||
|
)
|
||||||
|
|
||||||
|
self.walls = arcade.SpriteList()
|
||||||
|
for i in range(15):
|
||||||
|
for j in range(15):
|
||||||
|
if i==0 or j==0 or i==12 or j==12:
|
||||||
|
self.walls.append(
|
||||||
|
arcade.Sprite(
|
||||||
|
':resources:/images/tiles/brickBrown.png',
|
||||||
|
scale=0.5,
|
||||||
|
center_x = 32 + i*64,
|
||||||
|
center_y = 32 + j*64
|
||||||
|
)
|
||||||
|
)
|
||||||
|
self.engine.add_sprite_list(
|
||||||
|
self.walls,
|
||||||
|
body_type=arcade.PymunkPhysicsEngine.STATIC)
|
||||||
|
|
||||||
|
def on_update(self, delta_time):
|
||||||
|
self.objects.update()
|
||||||
|
for obj in self.objects:
|
||||||
|
if self.key_up:
|
||||||
|
self.engine.apply_force(obj,(0,100))
|
||||||
|
if self.key_down:
|
||||||
|
self.engine.apply_force(obj,(0,-100))
|
||||||
|
if self.key_left:
|
||||||
|
self.engine.apply_force(obj,(-100,0))
|
||||||
|
if self.key_right:
|
||||||
|
self.engine.apply_force(obj,(100,0))
|
||||||
|
|
||||||
|
self.engine.step(delta_time)
|
||||||
|
|
||||||
|
def on_draw(self):
|
||||||
|
self.clear()
|
||||||
|
self.objects.draw()
|
||||||
|
self.walls.draw()
|
||||||
|
|
||||||
|
def on_key_press(self,key,mod):
|
||||||
|
if key == arcade.key.W:
|
||||||
|
self.key_up = True
|
||||||
|
if key == arcade.key.S:
|
||||||
|
self.key_down = True
|
||||||
|
if key == arcade.key.A:
|
||||||
|
self.key_left = True
|
||||||
|
if key == arcade.key.D:
|
||||||
|
self.key_right = True
|
||||||
|
def on_key_release(self,key,mod):
|
||||||
|
if key == arcade.key.W:
|
||||||
|
self.key_up = False
|
||||||
|
if key == arcade.key.S:
|
||||||
|
self.key_down = False
|
||||||
|
if key == arcade.key.A:
|
||||||
|
self.key_left = False
|
||||||
|
if key == arcade.key.D:
|
||||||
|
self.key_right = False
|
||||||
|
|
||||||
|
if __name__ == '__main__':
|
||||||
|
window = arcade.Window(800,800,'')
|
||||||
|
view = MainView()
|
||||||
|
window.show_view(view)
|
||||||
|
arcade.run()
|
||||||
Reference in New Issue
Block a user