Технический форум по робототехнике.
MiBBiM » 26 июн 2009, 20:59
Игрушка: НачалоМой первый опыт с C#)). Переписал игрушку на [Framework 2.0], так что теперь её можно запускать с кпк))
Функциональность и элементы управления никоим образом не изменились, описание
здесь.
Драйвер можно скачать на странице производителя, вот прямой линк на
дрова для Windows Mobile 5. Для тех кто ещё не в курсе: дрова создают виртуальный компорт, который и надо скормить программе.
В этой реализации есть проблема с анимацией (если знаете как её решить, пожалуйста, не стесняйтесь)) )
P.S. КПК должен иметь usb-host обязательно!
- Вложения
-
- MBGame.rar
- (6.64 КиБ) Скачиваний: 18
-
- source.rar
- (19.79 КиБ) Скачиваний: 22
Последний раз редактировалось
MiBBiM 23 июл 2009, 20:58, всего редактировалось 4 раз(а).
Snable » 12 июл 2009, 00:05
И пересобралось? С МинГВ? И с ним же не хочет прогу компилировать? Странно, если так...
Попробуй просто либу Qt скачать, MinGW отдельно последнюю версию и поставь какой-нить NetBeans или Eclipse - там тоже есть поддержка Qt - надо будет только пути прописать и компильнуть собственно... Можно даже в МС Студии, но там все как-то уныло...
Не могу сейчас думать, если честно... Слово компилятор меня сейчас просто из колеи выбивает... Уже неделю пытаюсь изучить PHP, JavaScript, MySQL, XHTML и CSS (решил все одних махом изучить...) - о компиляторах трудно думается
MiBBiM » 12 июл 2009, 15:25
пробовал, отдельно mingw ставил, несколько раз пересобирал qt, на разные диски ставил, пути перепрописывал и т.д.
а оказалось что cmd.exe глючит, чтоп его через ногу, два дня убил впустую.
поставил MSYS и все как часики заработало. надеюсь с qtopia таких проблем не будет
может с html начнешь?
Snable » 12 июл 2009, 16:31
Мда... Винда, конечно, рулит
Сейчас вроде как Qtopia не существует... В смысле новые версии Qt\Extended называются, хотя могу ошибаться - не интересовался этим вопросом.
html - это не серьезно))) К тому же, у меня цель скорее не изучить это все, а изучить примерный синтаксис и техники современных веб-технологий. Чтобы потом уже конкретно выбрать что изучать глубже... Просто эту кучку изучаю в первую очередь, поскольку основная масса веб-страничек на "этом" написана... А вообще, планируется еще изучение Python, Perl, Tcl, Java, Jython, JQuery, ... и может быть... технологий .NET , но это вряд ли Планы Наполеоновские, конечно, но это только в ознакомительных целях. На уровне чтения кода, скажем так.
MiBBiM » 13 июл 2009, 00:10
кажется так:
Qt/Embedded -> Qtopia -> Qt Extended -> Qt, т.е. Qt Extended убили (првд вроде умельцами поддерживается где-то ветка).
так что делаю теневую сборку (или как это по-русски
) qt, и вполне вероятно, что получится подружить её с creator'ом, благо гугл ещё работает и находит кучу мануалов
P.S. но не нравится что придется поставлять с проектом либы мегов под 5
Добавлено спустя 6 минут 54 секунды:хотя, может стоит сделать интеграцию с msvs. вобщем что получится то и будет
Snable » 13 июл 2009, 00:29
Если делать версию под линукс или гугло- (нокия- се- моторолло-) фоны то поставлять не придется - там оно уже есть. А вообще можно вроде собрать все так, что не придется либы поставлять (правда насчет законности этого не уверен). Opera, например - живое тому доказательство.
Vooon » 13 июл 2009, 02:04
Можно статически слинковать библиотеку, тогда бинарник будет работать всюду (грубо).
Для закрытых (брр) программ под линукс это лучшее решение, т.к. версии библиотек имеют
привычку со временем меняться и не факт что при этом библиотека останется бинарно соместима.
MiBBiM » 14 июл 2009, 09:20
нда, сдк для винмобайл без студии не ставится
причем express версии не прокатывают. мелкомягкие сами себя загоняют, не распространяя бесплатные средства разработки...
вот скомпилировал примеры, использующие стандартную рисовалку, скоростью не порадовали; может opengl будет быстрее
Последний раз редактировалось
MiBBiM 19 июл 2009, 19:15, всего редактировалось 1 раз.
MiBBiM » 19 июл 2009, 19:17
никак не могу найти дистриб opengl es. то не под ту винь, то просто не компилируется
может завалялся у кого?
Grem » 19 июл 2009, 20:58
с сайта разработчиков, не?
MiBBiM » 19 июл 2009, 21:07
дай прямой ссыль на скачку
Grem » 19 июл 2009, 21:29
специально прямую не дам, ищи сам
лентяй http://www.khronos.org
MiBBiM » 19 июл 2009, 21:37
а ты и не нашел бы
это сайт производителя спецификаций, но не реализаций. есть там ссылки првд, но что-то все не то
Grem » 19 июл 2009, 21:59
а если я покажу ссылку там, что тогда? даже я, не знающий английский, нашел ее
MiBBiM » 19 июл 2009, 22:09
два шанса: откроешь Америку, и тогда я наконец-то допишу игрушку, либо ты дашь ссыль на то, что я уже видел, например, на
этой странице.
в любом случае я в выигрыше
MiBBiM » 23 июл 2009, 14:08
Решил проблему, используя .NET. Оказывается для прорисовки остальных контролов надо было вызвать метод base.OnPaint(), а вместо вызова тяжелого Refresh(), вызывать invalidate(). Эти модификации вкупе с самодельной двойной буферизацией обеспечивают быструю прорисовку без косяков.
- Код: Выделить всё • Развернуть
// pb - PictureBox
private void pb_Paint(object sender, PaintEventArgs e) // обновление картинки
{
base.OnPaint(e);
Graphics g = Graphics.FromImage(bmp); //bmp - буфер-пикча
draw_Back(g);
draw_Cursor(g, pen_Cursor);
g.Dispose();
pb.Image = bmp;
}
private void pb_MouseUp(object sender, MouseEventArgs e)
{// пример вызова отрисовки
need_stop = true;
mouse_down = false;
stb.Text = ""; // по таймеру текст статус бара изменится на приемлимый
pb.Invalidate(); // вызов отрисовки
}
Добавлено спустя 23 минуты 37 секунд:хм, рано радовался. при таком методе on_paint таймер не работает
Добавлено спустя 1 час 34 минуты 46 секунд:похоже проблема в методе invalidate(). на форумах встречал информацию о том, что он вначале очищает холст, и уж потом вызывает Paint(), что естественно приводит к мельканию.
попробовал вызвать on_paint() напрямую:
- Код: Выделить всё • Развернуть
pb.OnPaint()
получил ошибку
Доступ к защищенному члену "System.Windows.Forms.Control.OnPaint(System.Windows.Forms.PaintEventArgs)" через квалификатор типа "System.Windows.Forms.PictureBox" невозможен; квалификатор должен иметь тип "MBGame.frmMain" (или производный от него тип)
можно как-то это обойти?