Все сервисы Хабра
Сообщество IT-специалистов
Ответы на любые вопросы об IT
Профессиональное развитие в IT
Закрыть
Задать вопрос
OmegaTortik
1
вклад
5
вопросов
7
ответов
43%
решений
Комментарии
Информация
Ответы
Вопросы
Комментарии
Подписки
Нравится
Как поместить объект на высший слой?
OmegaTortik
@OmegaTortik
Автор вопроса
Модератор
, код у меня страшный и запутанный, решить никак не пытался так как я не знаю как это делать, сложностей никаких, я не знаю как это вообще сделать
Написано
более двух лет назад
Почему выдаётся ошибка?
OmegaTortik
@OmegaTortik
Автор вопроса
у меня же png...
Написано
более двух лет назад
Как отправить несколько embed в одном сообщении?
OmegaTortik
@OmegaTortik
Автор вопроса
Хоть там и одно сообщение, но это очень помогло! Спасибо!
Написано
более трёх лет назад
Как отправить несколько embed в одном сообщении?
OmegaTortik
@OmegaTortik
Автор вопроса
Как так же сделать?
Написано
более трёх лет назад
Как отправить несколько embed в одном сообщении?
OmegaTortik
@OmegaTortik
Автор вопроса
Ну
как сказать
Написано
более трёх лет назад
Что делать при ошибке Wrong http url specified aiogram?
OmegaTortik
@OmegaTortik
fokioff
, Ну, можно на облако выложить и все дела
Написано
более трёх лет назад
Почему запуск кода в PythonAnyWhere выдаёт ошибку?
OmegaTortik
@OmegaTortik
Автор вопроса
Алан Гибизов
, Сейчас посмотрю
Написано
более трёх лет назад
Есть pyinstaller для андроид?
OmegaTortik
@OmegaTortik
В общем есть такая вещь buildozer, у меня железо не тянет, но вещь работает
https://habr.com/ru/post/301776/
Написано
более трёх лет назад
Где ошибка и какая?
OmegaTortik
@OmegaTortik
что за ошибка?
Написано
более трёх лет назад
Как найти объект по координатам в tkinter?
OmegaTortik
@OmegaTortik
Автор вопроса
Vindicar
, Спасибо огромное! Я попробую!
Написано
более трёх лет назад
Как найти объект по координатам в tkinter?
OmegaTortik
@OmegaTortik
Автор вопроса
from tkinter import *
from PIL import Image, ImageTk
import random
import string
import time
walls = []
wallsnames = []
entities = []
entitnames= []
canshot = True
g = 0
plx = 10
ply = 500
shx = 10
shy = 500
def cango(x, y):
if x > 1100 or x < 0:
return False
if y > 500 or y < 0:
return False
for i in range(len(walls)):
if y > walls[i][1] and y < walls[i][3] and x > walls[i][0] and x < walls[i][2]:
return False
return True
def candestroy(x, y):
for i in range(len(entities)):
if y > entities[i][1] and y < entities[i][3] and x > entities[i][0] and x < entities[i][2]:
rname = grs(4)
exec(f"{rname} = Label(game, bg = \"white\")")
exec(f"{rname}.place(x = {entities[i][0] + 100}, y = {entities[i][1] + 100}, width = 100, height = 100)")
def grs(length):
letters = string.ascii_lowercase
rand_string = ''.join(random.choice(letters) for i in range(length))
return rand_string
def addwall(x, y):
name = grs(6)
if name in wallsnames:
while(name in wallsnames):
name = grs(6)
wallsnames.append(name)
c1 = f"{name} = Label(game)"
c2 = f"{name}[\"image\"] = imgwall"
c3 = f"{name}.place(x = {x}, y = {y}, height = 100, width = 100)"
walls.append([x-100,y-100,x+100,y+100])
exec(c1)
exec(c2)
exec(c3)
def addentity(x, y):
name = grs(6)
if name in entitnames:
while(name in entitnames):
name = grs(6)
entitnames.append(name)
c1 = f"{name} = Label(game)"
c2 = f"{name}[\"image\"] = utpng"
c3 = f"{name}.place(x = {x}, y = {y}, height = 100, width = 100)"
entities.append([x-100,y-100,x+100,y+100])
exec(c1)
exec(c2)
exec(c3)
def goup(event):
global plx, ply, shx, shy
ply-=10
if(cango(plx,ply)):
player.place(x = plx, y = ply)
if(canshot):
shx = plx
shy = ply
else:
ply += 10
def godown(event):
global plx, ply, shx, shy
ply+=10
if(cango(plx,ply)):
player.place(x = plx, y = ply)
if(canshot):
shx = plx
shy = ply
else:
ply -= 10
def goleft(event):
global plx, ply, shx, shy
plx-=10
if(cango(plx,ply)):
player.place(x = plx, y = ply)
if(canshot):
shx = plx
shy = ply
else:
plx += 10
def goright(event):
global plx, ply, shx, shy
plx+=10
if(cango(plx,ply)):
player.place(x = plx, y = ply)
if(canshot):
shx = plx
shy = ply
else:
plx -= 10
def cup(event):
global shx, shy,plx,ply,canshot
if (canshot):
for i in range(100):
canshot = False
shy-=10
shot.place(x = shx, y = shy,width = 100, height = 100)
game.update()
# candestroy(shx, shy)
time.sleep(0.01)
canshot = True
shot.place_forget()
shx = plx
shy = ply
def cdown(event):
global shx, shy,plx,ply,canshot
if (canshot):
for i in range(100):
canshot = False
shy+=10
shot.place(x = shx, y = shy,width = 100, height = 100)
game.update()
time.sleep(0.01)
canshot = True
shot.place_forget()
shx = plx
shy = ply
def cleft(event):
global shx, shy,plx,ply,canshot
if(canshot):
for i in range(100):
canshot = False
shx-=10
shot.place(x = shx, y = shy,width = 100, height = 100)
game.update()
candestroy(shx, shy)
time.sleep(0.01)
canshot = True
shot.place_forget()
shx = plx
shy = ply
def cright(event):
global shx, shy,plx,ply,canshot
if (canshot):
for i in range(100):
canshot = False
shx+=10
shot.place(x = shx, y = shy,width = 100, height = 100)
game.update()
candestroy(shx, shy)
time.sleep(0.01)
canshot = True
shot.place_forget()
shx = plx
shy = ply
game = Tk()
game.geometry("1200x600")
game.configure(bg = "white")
imgwall = ImageTk.PhotoImage(Image.open("wall.png"))
playerimg = ImageTk.PhotoImage(Image.open("player.png"))
player = Label()
player["image"] = playerimg
player.place(x = plx, y = ply, width = 100, height = 100)
utpng = ImageTk.PhotoImage(Image.open("ut.bmp"))
shot = Label()
shotpng = ImageTk.PhotoImage(Image.open("shot.bmp"))
shot["image"] = shotpng
addentity(0,0)
addentity(1100,0)
addwall(200, 200)
addwall(100, 200)
addwall(300, 200)
addwall(400, 200)
addwall(500, 200)
addwall(600, 200)
addwall(700, 200)
addwall(800, 200)
addwall(900, 200)
game.bind("w", goup)
game.bind("s", godown)
game.bind("a", goleft)
game.bind("d", goright)
game.bind("t", cup)
game.bind("g", cdown)
game.bind("f", cleft)
game.bind("h", cright)
m = Canvas()
print()
while True:
game.update()
time.sleep(0.01)
Надо что бы функция caandestroy() уничтожала данную entity
сейчас функция просто их прикрывает
Написано
более трёх лет назад
Как найти объект по координатам в tkinter?
OmegaTortik
@OmegaTortik
Автор вопроса
Vindicar
, label
Написано
более трёх лет назад
Войдите на сайт
Чтобы задать вопрос и получить на него квалифицированный ответ.
Войти через центр авторизации
Закрыть
Реклама