Compare commits
1 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| fb5a01b0b7 |
@@ -0,0 +1,14 @@
|
||||
{
|
||||
"automappingRulesFile": "",
|
||||
"commands": [
|
||||
],
|
||||
"compatibilityVersion": 1100,
|
||||
"extensionsPath": "extensions",
|
||||
"folders": [
|
||||
"."
|
||||
],
|
||||
"properties": [
|
||||
],
|
||||
"propertyTypes": [
|
||||
]
|
||||
}
|
||||
@@ -0,0 +1,37 @@
|
||||
{
|
||||
"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"
|
||||
}
|
||||
@@ -0,0 +1,9 @@
|
||||
<?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.
|
After Width: | Height: | Size: 12 KiB |
Binary file not shown.
|
After Width: | Height: | Size: 211 KiB |
Binary file not shown.
|
After Width: | Height: | Size: 328 KiB |
@@ -0,0 +1,4 @@
|
||||
<?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>
|
||||
@@ -0,0 +1,83 @@
|
||||
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()
|
||||
@@ -1,91 +0,0 @@
|
||||
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