Я пытаюсь сделать мигающий объект, т. Е. Увеличивать его значение альфа от 0 до 255 (постепенно), а затем вернуться к 0 и повторить.Элегантно подсчитывать вверх и вниз
Есть ли способ, которым я могу это сделать, не используя некоторые логические? Получить его приращение легко:
alpha = time.elapsed()%256;
Но какой хороший способ вернуть его обратно после этого?
Зачем вам это нужно? Пожалуйста, не говорите «производительность». если вы хотите создать проблесковый объект, это означает не более 60 обновлений в секунду, а это означает, что независимо от того, как вы это делаете, он делает нулевую разницу по производительности. Итак, в чем причина, по которой ваш код становится более трудным для чтения? – jalf
@jalf: На самом деле целью было упростить чтение. Использование пары if для отслеживания того, увеличивает или уменьшает ее значение, усложняет ее. Если это можно сделать на одной линии, я бы сказал, что это проще. – mpen
Короче, но я бы не назвал его более простым или читаемым. если это было так просто, зачем вам задавать этот вопрос? Вы не могли понять это сами, так что заставляет вас поверить, что вы сможете понять это, когда вы столкнетесь с кодом через 3 месяца? – jalf