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

Игровой цикл. Режим Реального времени. Как?

15.11.2017, 15:03. Показов 1258. Ответов 1
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Привет!

Немного кодил на С++, с SFML в том числе, там немного понял как внедрить в игру понятие времени. Т.е непрерывный игровой цикл с задержкой по времени (не мгновенно), вот и имитация реал тайма.

А тут вот подключил tkinter и не могу понять. Вроде и есть import time, даже clock есть. по поводу массивов (если это массив пользовательского класса) и надо потом доступ по индексу сделать. В общем написал пока что-то бредовое...

Цель была совсем простенькая чтоб оглядеться в Питоне: по центру сделать некоторое количество квадратов, каждый был бы объектом класса (и их сделать массив). И каждый бы квадратик рандомно двигался бы каждую итерацию. Квадрат который бы достиг границ окна - победил. Ну совсем глупенькая задача. И пишу я пока очень глупо.

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
from tkinter import *
from random import*
import time
 
import color as color
 
 
class Rectangle:
   def __init__(self, int_x_0, int_y_0):
       self.x_0 = int_x_0
       self.y_0 = int_y_0
       self.x_1 = int_x_0 + 5
       self.y_1 = int_y_0 + 5
 
   def update(self, x, y):
        self.x_0 = self.x_0 + x
        self.y_0 = self.y_0 + y
        self.x_1 = self.x_0 + 5
        self.y_1 = self.y_0 + 5
 
window = Tk()
colors = ['red','orange','yellow','green','blue']
win_width = 800
win_height = 800
config_string = "{0}x{1}".format(win_width, win_height + 32)
window.geometry(config_string)
window.title("Run_Quade")
quantity = randint(55, 155)
canvas = Canvas(window, width=790, height=790, bg = "green")
Array_Quade = []
count = 0
temp_pos_x = win_height / 2
temp_pos_y = win_width / 2
while count < quantity:
    Quade_tmp = Rectangle (temp_pos_x, temp_pos_y)
    canvas.create_rectangle(Quade_tmp.x_0,Quade_tmp.y_0,Quade_tmp.x_1,Quade_tmp.y_1, fill = choice(colors))
    Array_Quade.append(Quade_tmp)
    count = count + 1
Y = time.clock()
while Y < 2:
    for Rectangle in Array_Quade:
        Quade_tmp.update(randint(-2,2), randint(-2,2))
        canvas.create_rectangle(Quade_tmp.x_0, Quade_tmp.y_0, Quade_tmp.x_1, Quade_tmp.y_1, fill = "blue")
        
        time.sleep(0.01)
 
canvas.pack()
window.mainloop()
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
15.11.2017, 15:03
Ответы с готовыми решениями:

Построение графика в режим реального времени
Добрый день. Интересует построение графиков в режиме реального времени в среде delphi7. Данные приходят из компорта в виде...

Подскажите пожалуйста, как намертво закрепить приоритет программы "режим реального времени" в Windows Server 2019?
Всем здравствуйте! ! ! Помогите пожалуйста справится с проблемой- в виндовс серевер 2019, в диспетчере задач, в пункте...

Как организовать Messenger реального времени?
Здравствуйте. Я хочу написать свой mesenger(хорошо бы мультипротокольный, но это потом). И у меня появилось несколько вопросов 1. Опыта...

1
963 / 718 / 276
Регистрация: 10.12.2016
Сообщений: 1,764
15.11.2017, 17:19
так в ткинтере не выйдет - after
http://russianlutheran.org/pyt... .htm#After
для игр - pygame
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
15.11.2017, 17:19
Помогаю со студенческими работами здесь

Как сделать часы реального времени?
Помогите пожалуйста с одной проблемкой... Не знаю как сделать часы реального времени:-[ вообще задача в следующем: в диалоговом окне...

Visual studio С# и MySql как БД реального времени
Всем привет сразу прошу не быть со мной строго я не нашел похожей темы! Собираюсь создать сервер MySql(отдельный компьютер Windows 7) и...

Как из реального времени вычесть время из базы
Кароче, в новостях нужно выводить время типа &quot;30 sec ago , 5 min ago и т.д.&quot; в базу к новости заносится реальное время. Как мне из...

Как выводить время в режиме реального времени?
Начал работать с Django. Создаем простую страничку,где выводиться текущее время и дата, время обновляется каждую секунду, например. ...

Как отследить изменение в таблице бд в режиме реального времени
Уважаемые форумчане! Я вновь к вам за очередным советом. Пожалуйста подскажите какой лучше всего способ выбрать для того чтобы...


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

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
Новые блоги и статьи
Подключение Box2D v3 к SDL3 для Android: физика и отрисовка коллайдеров
8Observer8 29.01.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами. Версия v3 была полностью переписана на Си, в. . .
Инструменты COM: Сохранение данный из VARIANT в файл и загрузка из файла в VARIANT
bedvit 28.01.2026
Сохранение базовых типов COM и массивов (одномерных или двухмерных) любой вложенности (деревья) в файл, с возможностью выбора алгоритмов сжатия и шифрования. Часть библиотеки BedvitCOM Использованы. . .
Загрузка PNG с альфа-каналом на SDL3 для Android: с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 28.01.2026
Содержание блога SDL3 имеет собственные средства для загрузки и отображения PNG-файлов с альфа-каналом и базовой работы с ними. В этой инструкции используется функция SDL_LoadPNG(), которая. . .
Загрузка PNG с альфа-каналом на SDL3 для Android: с помощью SDL3_image
8Observer8 27.01.2026
Содержание блога SDL3_image - это библиотека для загрузки и работы с изображениями. Эта пошаговая инструкция покажет, как загрузить и вывести на экран смартфона картинку с альфа-каналом, то есть с. . .
Влияние грибов на сукцессию
anaschu 26.01.2026
Бифуркационные изменения массы гриба происходят тогда, когда мы уменьшаем массу компоста в 10 раз, а скорость прироста биомассы уменьшаем в три раза. Скорость прироста биомассы может уменьшаться за. . .
Воспроизведение звукового файла с помощью SDL3_mixer при касании экрана Android
8Observer8 26.01.2026
Содержание блога SDL3_mixer - это библиотека я для воспроизведения аудио. В отличие от инструкции по добавлению текста код по проигрыванию звука уже содержится в шаблоне примера. Нужно только. . .
Установка Android SDK, NDK, JDK, CMake и т.д.
8Observer8 25.01.2026
Содержание блога Перейдите по ссылке: https:/ / developer. android. com/ studio и в самом низу страницы кликните по архиву "commandlinetools-win-xxxxxx_latest. zip" Извлеките архив и вы увидите. . .
Вывод текста со шрифтом TTF на Android с помощью библиотеки SDL3_ttf
8Observer8 25.01.2026
Содержание блога Если у вас не установлены Android SDK, NDK, JDK, и т. д. то сделайте это по следующей инструкции: Установка Android SDK, NDK, JDK, CMake и т. д. Сборка примера Скачайте. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru