Форум программистов, компьютерный форум, киберфорум
Python
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 5.00/11: Рейтинг темы: голосов - 11, средняя оценка - 5.00
0 / 0 / 0
Регистрация: 16.04.2017
Сообщений: 18

Аркада на Python

20.05.2017, 23:21. Показов 2393. Ответов 8

Студворк — интернет-сервис помощи студентам
Добрый день! Пишу свою аркаду на python 3 (tkinter), но есть проблема:
Python
1
2
3
4
5
6
7
8
9
10
11
12
13
def main(event):
    if event.keysym in "d":
        PlayerMoveR('null')
    elif event.keysym in "a":
        PlayerMoveL('null')
    elif event.keysym in "s":
        PlayerSit('null')
 
root.bind('<KeyPress>',main)
Play.bind('<KeyPress>',SitDo)
root.bind('<Shift-Right>',PlayerRun)
root.bind('<Button-1>',Fire)
root.mainloop()
Мне нужно, чтобы при нажатии d и s одновременно игрок шел направо,и при этом приседал. Однако, текстура приседает и не идет вперед.

Добавлено через 1 минуту
Python
1
2
Play.bind('<KeyPress>',SitDo)
root.bind('<Shift-Right>',PlayerRun)
Лишнее, осталось от попыток изменить
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
20.05.2017, 23:21
Ответы с готовыми решениями:

[2D] Colorful - аркада / тайм-киллер
От меня: Добрый день! Решил сделать для портфолио один простенький тайм-киллер с минимальным графическим оформлением. Хотелось бы...

Software Developer Python/Data or ready to improve Python (Санкт-Петербург)
We are looking for experienced server-side developers who are interested in improving their skills and knowledge in Python and ETL/Data. We...

Python - момент истины. Python - как оружие возмездие против системы
Какие модули в python мне нужны для взлома баз данных? Перехвата информации? Внедрения в систему? Добавлено через 10 минут Хочу...

8
14 / 14 / 15
Регистрация: 19.01.2017
Сообщений: 48
21.05.2017, 10:04
Должно так работать:
Python
1
2
3
4
5
6
7
def main(event):
    if event.keysym in "d":
        PlayerMoveR('null')
    elif event.keysym in "a":
        PlayerMoveL('null')
    if event.keysym in "s":
        PlayerSit('null')
0
0 / 0 / 0
Регистрация: 16.04.2017
Сообщений: 18
21.05.2017, 13:39  [ТС]
Происходит тоже самое
0
2742 / 2341 / 620
Регистрация: 19.03.2012
Сообщений: 8,830
21.05.2017, 13:59
Eragon_Russia, тебе нужно создать виртуальное свое виртуальное событие http://infohost.nmt.edu/tcc/he... vents.html
1
0 / 0 / 0
Регистрация: 16.04.2017
Сообщений: 18
22.05.2017, 19:29  [ТС]
Жаль, но не работает. Можешь привести пример кода, пожалуйста?
0
2742 / 2341 / 620
Регистрация: 19.03.2012
Сообщений: 8,830
22.05.2017, 19:32
Eragon_Russia, ошибка или что? Больше деталей! Я tkinter давно не трогаю, мерзая вещь потому, что. Если покажешь код, могу попробовать глянуть.
1
0 / 0 / 0
Регистрация: 16.04.2017
Сообщений: 18
22.05.2017, 19:41  [ТС]
Код жуткий, прошу прощения Нет, не ошибка, просто все также
Python
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
#Переменные
Player_X_Change_R = 2
Player_X_Change_L = -2
Player_Y_Change = 0
Player_X = 0
Player_Y = 323
FireAccess = 1
Sit = False
#Модули
from tkinter import *
import win32api
win32api.LoadKeyboardLayout('00000409',1)
#Окно
root = Tk()
 
WIDTH = 1024
HEIGHT = 576
SEVER = root.winfo_screenwidth()
YUG = root.winfo_screenheight()
SEVERcenter = (SEVER - WIDTH)/2
YUGcenter = (YUG - HEIGHT)/2
 
root.title('TkFire')
root.iconbitmap("icon.ico")
root.resizable(False,False)
root.geometry('%dx%d+%d+%d' % (WIDTH,HEIGHT,SEVERcenter,YUGcenter))
#Текстуры
FonPNG = PhotoImage(file='fon.png')
PlayerPNG = PhotoImage(file='player.png')
GunPNG = PhotoImage(file='gun.png')
GunStopPNG = PhotoImage(file='gunstop.png')
EnemyStPNG = PhotoImage(file='enemy01.png')
PlayerSitPNG = PhotoImage(file='playersit.png')
#Игровое Поле
Play = Canvas(root,width=1024,height=576,highlightthickness=0)
Play.pack()
Play.create_image(0,0,image=FonPNG,anchor='nw')
#Игрок
Player = Play.create_image(Player_X,Player_Y,image=PlayerPNG,anchor='nw')
def PlayerSit(event):
    global Sit
    if Sit:
        Play.itemconfig(Player,image=PlayerPNG)
        Play.move(Player,0,-11)
        Play.move(Gun,0,-20)
        Sit = False
    else:
        Play.itemconfig(Player,image=PlayerSitPNG)
        Play.move(Player,0,11)
        Play.move(Gun,0,20)
        Sit = True
def PlayerMoveR(event):
    Play.move(Player,Player_X_Change_R,Player_Y_Change)
    Play.move(Gun,Player_X_Change_R,Player_Y_Change)
def PlayerMoveL(event):
    Play.move(Player,Player_X_Change_L,Player_Y_Change)
    Play.move(Gun,Player_X_Change_L,Player_Y_Change)
def PlayerRun(event):
    Play.move(Player,Player_X_Change_R+3,Player_Y_Change)
    Play.move(Gun,Player_X_Change_R+3,Player_Y_Change)
#Оружие
Gun = Play.create_image(Player_X+35,Player_Y+30,image=GunPNG,anchor='nw')
def FireRevers():
    global FireAccess
    Play.itemconfig(Gun,image=GunPNG)
    Play.move(Gun,13,22)
    FireAccess += 1
def Fire(event):
    global FireAccess
    if FireAccess:
        FireAccess -= 1
        Play.itemconfig(Gun,image=GunStopPNG)
        Play.move(Gun,-13,-22)
        Play.after(1000,FireRevers)
def main(event):
    if event.keysym in "d":
        PlayerMoveR('null')
    elif event.keysym in "a":
        PlayerMoveL('null')
    elif event.keysym in "s":
        PlayerSit('null')
#Нажатие
root.event_add('<<Move>>','d','s','a')
root.bind('<<Move>>',main)
root.bind('<Button-1',Fire)
root.mainloop()
Добавлено через 6 минут
Я сам не планирую больше писать на tkinter, за время этого проекта успел разочароваться.
0
 Аватар для STAR WARS
34 / 40 / 3
Регистрация: 24.11.2016
Сообщений: 159
30.12.2018, 13:37
Попробуйте прочитать книжку PYTHON ДЛЯ ДЕТЕЙ САМОУЧИТЕЛЬ ПО ПРОГРАММИРОВАНИЮ ДЖЕЙСОН БРИГГС
0
0 / 0 / 0
Регистрация: 16.04.2017
Сообщений: 18
30.12.2018, 17:49  [ТС]
Тогда мне это не помешало бы, да)
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
30.12.2018, 17:49
Помогаю со студенческими работами здесь

Запуск скрипта написанного на python на windows, где не установлен python
Не запускается скрипт на Windows, где не установлен python. Команда в коде на выполнение написана так: def Adminnewpriglash(): ...

Cx_freeze python error in main script как исправить- Python
Пытался создать из .py .exe , но при запуске .exe получаю ошибку вот код setup.py from cx_Freeze import setup, Executable import os ...

Maching pursuit. Согласованный поиск на Python. Требуется сам алгоритм, написанный на Python
Требуется сам алгоритм, написанный на Python. Заранее спасибо.

Senior Python developer (Python, Django, JavaScript, Cloud) in Munich, Germany,visa sponsorship
An innovative software vendor are seeking an experienced system developer who wishes to remain hands-on writing code in a mixed Python...

Python cv2 сконвертировать Python многомерный массив в картинку
Python cv2, необходимо сконвертировать многомерный массив в картинку, например: Дано: , , ] Где каждые 3 значения - цвета пикселя...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
9
Ответ Создать тему
Новые блоги и статьи
Символьное дифференцирование
igorrr37 13.02.2026
/ * Программа принимает математическое выражение в виде строки и выдаёт его производную в виде строки и вычисляет значение производной при заданном х Логарифм записывается как: (x-2)log(x^2+2) -. . .
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу, и светлой Луне. В мире покоя нет и люди не могут жить в тишине. А жить им немного лет.
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила» «Время-Деньги» «Деньги -Пуля»
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL3_image
8Observer8 10.02.2026
Содержание блога Библиотека SDL3_image содержит инструменты для расширенной работы с изображениями. Пошагово создадим проект для загрузки изображения формата PNG с альфа-каналом (с прозрачным. . .
Установка Qt-версии Lazarus IDE в Debian Trixie Xfce
volvo 10.02.2026
В общем, достали меня глюки IDE Лазаруса, собранной с использованием набора виджетов Gtk2 (конкретно: если набирать текст в редакторе и вызвать подсказку через Ctrl+Space, то после закрытия окошка. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru