Найти - Пользователи
Полная версия: Как синхронизировать элементы?
Начало » Центр помощи » Как синхронизировать элементы?
1 2
Helen
Здравствуйте,

Я новичок в Python, изучаю язык всего неделю.

У меня возникла проблема, мне необходимо написать программу, чтобы ряд элементов меняли свое значение, грубо говоря с 0 переключались на 1 в определенном порядке. Сам алгоритм я написала, проблема лишь в том, что они не синхронизированы, т.е. переключение происходит не одновременно.

Ну вроде бы суть написала)

Буду очень признательна за помощь, потому что сама уже бьюсь с этим неделю.
Андрей Светлов
Милая барышня, понять что вы хотите - и, главное, что не получается - решительно невозможно.

Вы бы хоть код показали…
sypper-pit
Чувствую себя кк Бендер “”“да детка покажи свои схемы”“” :) о какой у тебя код :)
А если на полном серьёзе то нужно описывать проблему полнее
alexx11
Helen
чтобы ряд элементов меняли свое значение, грубо говоря с 0 переключались на 1 в определенном порядке.
Форум всё веселей с каждым днём. По сути любая операционная система, это ряд простейших элементов с переключением их в определённом порядке, ессно, в нули и единицы. :/
Helen
Вот вам код)

Сначало я задаю раположение точек на рисунке, затем мне необходимо сделать так, чтобы они менялись с 0 на 1 в определенном порядке. При этом алгоритм задан в каждой точке, она сама определяет когда ей изменить значение (цикл сделать не получится).



class pixel (1):
def __init__(self, id, **kwargs):
self.id=id
self.s = False
1.__init__(self, **kwargs)
clock.schedule_interval(self.switch, 1) # собственно вот это переключение и действует не равномерно,
# т.е. они переключаются не каждую секунду, а рывками
# и я ничего поделать с этим не могу (((


def proverka(self):
if li == 1:
self.s=True
else:
self.s=False
return self.s
Андрей Светлов
Хочу еще! :)
Если код можно запустить и увидеть все своими глазами - это сильно помогает.

clock.schedule_interval - это из pyglet?
Если я угадал и беда в том, что картинка “дергается”, времена между обновлениями прыгают - стоит попробовать .schedule_interval_soft
А если нужно переключать все точки одновременно - стоит завести один таймер и в нем уже написать
def on_clock(self, interval):
for p in li:
p.switch(interval)
вместо таймера на точку.

А почему pixel наследуется от единицы? Это такая военная хитрость?
Helen
Да-да! проблема именно в этом)))

Спасибо, я попробую.
1 - это просто название класса)

В вот timer.set функция тут не помогут???
Helen
Применила .schedule_interval_soft - картинка стала дергаться меньше))

Вот еще бы хотелось узнать как можно синхронизировать FPS и время во всех точках?

просто таймер сделать не получится, li - это массив, который определяет какое значение будет у точки (из 1 и 0, грубо говоря ), поэтому при switch меняются элементы этого массива, а сама точка лишь проверяет какое у нее значение после переключения (Proverka).
regall
оффтоп:
Андрей Светлов, подари мне, пожалуйста, свой хрустальный шар =).
Андрей Светлов
regall
оффтоп:
Андрей Светлов, подари мне, пожалуйста, свой хрустальный шар =).
Товар штучный, клонированию не поддается
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB