roboforum.ru

Технический форум по робототехнике.

Игрушка: КПК

Игрушка: КПК

MiBBiM » 26 июн 2009, 20:59

Игрушка: Начало
Мой первый опыт с C#)). Переписал игрушку на [Framework 2.0], так что теперь её можно запускать с кпк))
23.07.png

Функциональность и элементы управления никоим образом не изменились, описание здесь.
Драйвер можно скачать на странице производителя, вот прямой линк на дрова для Windows Mobile 5. Для тех кто ещё не в курсе: дрова создают виртуальный компорт, который и надо скормить программе.
В этой реализации есть проблема с анимацией (если знаете как её решить, пожалуйста, не стесняйтесь)) )
P.S. КПК должен иметь usb-host обязательно!
Вложения
MBGame.rar
(6.64 КиБ) Скачиваний: 18
source.rar
(19.79 КиБ) Скачиваний: 22
Последний раз редактировалось MiBBiM 23 июл 2009, 20:58, всего редактировалось 4 раз(а).

Re: Игрушка: КПК

avr123.nm.ru » 26 июн 2009, 21:04

А вот - Эмулятор Windows Mobile 2006 (6.0)

http://www.microsoft.com/downloads/deta ... 370A65A582

Re: Игрушка: КПК

MiBBiM » 26 июн 2009, 21:06

дрова и приложение пойдут в т.ч. и на шестерке, главное чтобы стоял .NET Framework версией выше или равной 2.0.
P.S. тестировалось на Acer n311.

Re: Игрушка: КПК

MiBBiM » 10 июл 2009, 22:27

может быть рисовать не на picture box, а на другом контроле? или мб вообще на форме?
P.S. очень не хочу почти готовый продукт в таком виде оставлять

Re: Игрушка: КПК

Snable » 10 июл 2009, 23:35

Мысли вслух:
Опыта с дотНэтом у меня нет, но могу сказать, что скорее всего без разницы на каком контроле рисовать. Надо копать в сторону даблбуфферинга. Или можно попробовать сделать 2 контрола и рисовать на нижнем, потом его выводить на верх. Тогда система скорее всего (не факт) сама позаботиться о двойной буферизации... В итоге потеряем кучу памяти и возможно не решим проблему...
В общем - лучше копать двойную буфферизацию. Еще как вариант - использовать OpenGL - там с DB работать проще простого)))
А вообще, поскольку игрушка написана на СиШарп, то можно еще дальше пойти по линии мелкомягких и заюзать DirectX... Вроде как это возможно...
Вообще, в принципе, для скоростного вывода и используются DirectX или OpenGL.
Еще... Как вариант можно переписать все на Qt, тогда получишь большую переносимость... То есть эта прога на телефонах новых пойдет (по крайней мере Нокиа, СониЕриксон и Моторола), поскольку сейчас производители начали повально переписывать прошивки с использованием Qt. Там проблемы возникнуть не должно, поскольку для вывода автоматом используется OpenGL и двойная буферизация автоматическая...
Так что вот... Вариантов много.
Конструктивно:
Копай в сторону DB. Если не получиться, то используй DX. Если и это не прокатит - пробуй OpenGL. Если и это не прокатит, в чем я сомневаюсь - ставь Линукс и используй нормальные языки программирования (аля Си++) и нормальные фреймворки (типа Qt).

Re: Игрушка: КПК

MiBBiM » 10 июл 2009, 23:45

копал уже немного, все контролы вроде бы по умолчанию имеют буферизацию, но у picturebox'a не смог достучаться до свойства, управляющего ей.
для формы можно врубить полностью ручной контроль даблбуфера, но тогда непонятно как отрисовывать контролы на ней. т.е. свой-то рисунок я нарисую, а кто будет остальное малевать? :unknown:
вобщем буду по-старинке - пробовать, а там уж что получится :D
переписать на qt конечно заманчиво, но для винмобайл придется заставлять пользователя ставить фреймворк, что юзеры ну очень не любят, а .нет предустановлен сразу.

Re: Игрушка: КПК

Snable » 10 июл 2009, 23:52

На сколько я знаю ничего ставить заставлять не надо будет. Прога просто компилируется под arm (или другой проц), закачивается на КПК и работает))) Без всяких сторонних подозрительных штук вроде .net compact framework.
И кстати, ты можешь (скорее всего) контролы прорисовывать с помощью их стандартных методов. Помню что-то подобное давно на Дэлфи делал. Думаю тут тоже можно.
Последний раз редактировалось Snable 10 июл 2009, 23:54, всего редактировалось 1 раз.

Re: Игрушка: КПК

MiBBiM » 10 июл 2009, 23:54

заинтриговали, пошел доки курить

Re: Игрушка: КПК

MiBBiM » 11 июл 2009, 19:57

нда. поставил qt creator, попытался скомпилировать пример, словил безжалостный баг :(
Изображение

Re: Игрушка: КПК

Snable » 11 июл 2009, 21:14

Ты QtSDK ставил или только криэйтор?

И кинь проект в архиве - посмотрю что такое)))

Re: Игрушка: КПК

MiBBiM » 11 июл 2009, 21:25

поставил SDK с сайта, система XP SP2.
пути:
C:\Qt\2009.03
C:\Qt\2009.03\mingw

прописал PATH = C:\Qt\2009.03\qt\bin;C:\Qt\2009.03\mingw\bin
выползают ошибки вида:
Код: Выделить всёРазвернуть
Running build steps for project calculatorbuilder...
Starting: C:/Qt/2009.03/qt/bin/qmake.exe C:/Qt/2009.03/qt/examples/designer/calculatorbuilder/calculatorbuilder.pro -spec win32-g++ -r
Exited with code 0.
Starting: C:/Qt/2009.03/mingw/bin/mingw32-make.exe -w
mingw32-make: Entering directory `C:/Qt/2009.03/qt/examples/designer/calculatorbuilder'
C:/Qt/2009.03/mingw/bin/mingw32-make -f Makefile.Debug
mingw32-make[1]: Entering directory `C:/Qt/2009.03/qt/examples/designer/calculatorbuilder'
g++ -c -g -frtti -fexceptions -mthreads -Wall -DUNICODE -DQT_LARGEFILE_SUPPORT -DQT_DLL -DQT_XML_LIB -DQT_GUI_LIB -DQT_CORE_LIB -DQT_THREAD_SUPPORT -DQT_NEEDS_QMAIN -I"..\..\..\include\QtUiTools" -I"..\..\..\include\QtCore" -I"..\..\..\include\QtGui" -I"..\..\..\include\QtXml" -I"..\..\..\include" -I"..\..\..\include\ActiveQt" -I"debug" -I"..\..\..\mkspecs\win32-g++" -o debug\main.o main.cpp
mingw32-make[1]: Leaving directory `C:/Qt/2009.03/qt/examples/designer/calculatorbuilder'
mingw32-make: Leaving directory `C:/Qt/2009.03/qt/examples/designer/calculatorbuilder'
mingw32-make[1]: *** [debug/main.o] Error 1
mingw32-make: *** [debug] Error 2
Exited with code 2.
Error while building project calculatorbuilder
When executing build step 'Make'

директории без русских символов и пробелов, вот взял другой примерчик из документации:
Код: Выделить всёРазвернуть
 #include <QApplication>
#include <QPushButton>

int main(int argc, char *argv[])
{
     QApplication app(argc, argv);

     QPushButton hello("Hello world!");
     hello.resize(100, 30);

     hello.show();
     return app.exec();
}

сохранил в файле main.cpp, сделал в консоли следующее:
Изображение
затем команда mingw32-make без параметров (лог выше потёрся после запуска):
Изображение
вот получившийся проект (извините за файлообменник)
содержимое проектного файла 123.pro:
Код: Выделить всёРазвернуть
######################################################################
# Automatically generated by qmake (2.01a) ?? 11. ??? 20:06:49 2009
######################################################################

TEMPLATE = app
TARGET =
DEPENDPATH += .
INCLUDEPATH += .

# Input
SOURCES += main.cpp

эмм. походу в mingw проблема, но ведь сырой sdk врядли выложат на сайт :unknown:

Re: Игрушка: КПК

Snable » 11 июл 2009, 21:35

[googlevid][/googlevid]Странно... У меня тоже компилиться не хотит этот пример...
А другой пример (из туториала) компилиться без проблем...

А вот "Хэллоу ворлд" у тебя не скомпилился потому что у тебя нет папки debug. МинГВ её сам не умеет создавать :no:
Попробуй скомпилить его же из среды или создай папку ручками и компиль с консоли.

А.... блин... есть папка debug... странно...

Че-то ты не то сделал с мэйком по ходу :crazy: Попробуй из среды все-таки скомпилить.

Re: Игрушка: КПК

MiBBiM » 11 июл 2009, 21:46

если бы :D из среды вообще ничего не компилится, постоянно mingw32-make выдает ошибку, причем что из консоли, что из среды одна и та же :pardon:
попробую его обновить чтоли..

Re: Игрушка: КПК

Snable » 11 июл 2009, 21:50

Нашел тут... подобные проблемы у людей возникали...
http://www.17od.com/2005/07/05/installi ... n-windows/
Это собственно решение проблемы.
По ходу на винде он не всегда нормально "из коробки" работает...

Re: Игрушка: КПК

MiBBiM » 11 июл 2009, 23:22

одинаково мыслим :) только-только начал пересобирать

Добавлено спустя 1 час 4 минуты 3 секунды:
пересобрал, толку нет. видимо придется на другой mingw перейти


Rambler\'s Top100 Mail.ru counter