Почему Вы делитесь на 5 000? Просто установите Минимальные и Максимальные значения TrackBar между 0 и 100 и затем разделите Значение на 100 для процента Непрозрачности. Минимальные 20 примеров ниже препятствуют тому, чтобы форма стала абсолютно невидимой:
private void Form1_Load(object sender, System.EventArgs e)
{
TrackBar1.Minimum = 20;
TrackBar1.Maximum = 100;
TrackBar1.LargeChange = 10;
TrackBar1.SmallChange = 1;
TrackBar1.TickFrequency = 5;
}
private void TrackBar1_Scroll(object sender, System.EventArgs e)
{
this.Opacity = TrackBar1.Value / 100;
}
Используйте виды для управления и слои для приятного глазу. Слои не получают событий, поэтому в таких случаях проще использовать представление, но когда вы хотите анимировать спрайт или фон и т. Д., Слои имеют смысл. События проходят прямо через слои в резервное представление, поэтому вы можете иметь довольно наглядное представление, не испортив события. Попробуйте наложить представление, которое вы используете только для визуального представления, и вам придется самостоятельно передавать события касания в базовое представление.
Преобразования UIView только двухмерные и ограничены этим, преобразования LAyer могут быть трехмерными, и вы должны использовать их, если хотите делать трехмерные вещи, анимация UIView будет работать, если вы измените преобразование UIView или преобразование CALayer. Таким образом, на базовом уровне вы можете делать гораздо больше манипуляций, когда работаете со слоем, а не с представлением.
За последний год я сделал кучу приложений. Вот мое практическое правило:
UIView
всегда отображается в CALayer
. Когда вы используете методы UIView
для анимации представления, вы эффективно манипулируете базовым CALayer
.
Если вам нужно делать простые вещи, используйте UIView
методы. Для более сложных ситуаций или если вам нужны слои, не связанные с каким-либо видом, используйте CALayers
.
Я не уверен, что неправильно понимаю ответ Криса на вопрос «Что в Cocos2D лучше? У вас нет других проблем, касающихся обработки событий касания и многих других вещей, которые отсутствуют в openGL?» ES? "
Похоже, ответ предполагает, что Cocos2D не основан на платформе OpenGL ES, хотя на самом деле это так. Хотя это отличный движок для 2D-игр, он действительно реализует OpenGL для большей части рендеринга - прикрепленный к библиотеке физики, он предоставляет множество очень интересных возможностей для анимации - и Крис прав - это действительно намного меньше кода.