Добавил объекты и заложил минимальное движение
This commit is contained in:
@@ -1,4 +1,5 @@
|
||||
import arcade
|
||||
from random import randint
|
||||
|
||||
SCREEN_WIDTH = 1920
|
||||
SCREEN_HEIGHT = 1280
|
||||
@@ -14,6 +15,33 @@ def to_iso(tile_list):
|
||||
tile.center_y = tile.center_y - TILE_HEIGHT//2 * (row+col)
|
||||
return tile_list
|
||||
|
||||
class Player(arcade.Sprite):
|
||||
def __init__(self,sprite):
|
||||
super().__init__()
|
||||
self.texture = sprite.texture
|
||||
self.center_x = sprite.center_x
|
||||
self.center_y = sprite.center_y
|
||||
self.move_timer = 0
|
||||
def update(self,delta_time):
|
||||
super().update()
|
||||
self.move_timer += delta_time
|
||||
if self.move_timer >= 1:
|
||||
self.move_timer = 0
|
||||
way = randint(0,3)
|
||||
if way == 0:
|
||||
self.move(1,1,delta_time)
|
||||
elif way == 1:
|
||||
self.move(1,-1,delta_time)
|
||||
elif way == 2:
|
||||
self.move(-1,-1,delta_time)
|
||||
elif way == 3:
|
||||
self.move(-1,1,delta_time)
|
||||
|
||||
def move(self,dx,dy,dt):
|
||||
self.change_x = dx * TILE_WIDTH//2*dt
|
||||
self.change_y = dy * TILE_HEIGHT//2*dt
|
||||
|
||||
|
||||
class MainView(arcade.View):
|
||||
def __init__(self):
|
||||
super().__init__()
|
||||
@@ -23,6 +51,11 @@ class MainView(arcade.View):
|
||||
self.flor = to_iso(self.flor)
|
||||
self.walls = self.tilemap.sprite_lists["walls"]
|
||||
self.walls = to_iso(self.walls)
|
||||
self.objects = self.tilemap.sprite_lists["objects"]
|
||||
self.objects = to_iso(self.objects)
|
||||
self.players = arcade.SpriteList()
|
||||
for obj in self.objects:
|
||||
self.players.append(Player(obj))
|
||||
|
||||
self.camera = arcade.Camera2D()
|
||||
|
||||
@@ -31,9 +64,11 @@ class MainView(arcade.View):
|
||||
self.camera.use()
|
||||
self.flor.draw()
|
||||
self.walls.draw()
|
||||
self.players.draw()
|
||||
|
||||
def on_update(self,delta_time):
|
||||
self.camera.position = 800,0
|
||||
self.players.update(delta_time)
|
||||
def on_mouse_press(self,x,y,but,mod):
|
||||
world_point = self.camera.unproject((x,y))
|
||||
tile_col = world_point.x//TILE_WIDTH
|
||||
|
||||
Reference in New Issue
Block a user