Surface Simulator
В прошлые разы, я допустил несколько ошибок. И в этот раз постараюсь их исправить. Для начала, та среда в которой я запускал приложения, это все-же не эмулятор (хотя я так ее называл). Приложение запускается, как обычное оконное. Более того, это приложение выглядит немного не так, как на Surface. Это немного заключается в том, что размер окна никак не соответствует размерам Surface, и в том, что даже если вы имеете мультитач монитор, то мультитача в этом окне все равно не будет. Тем не менее, разрабатывать под Surface не покупая его все же можно. Для этого в комплекте Surface SDK есть Surface Simulator. Но есть один тонкий момент, что бы симулятор заработал, необходимо запускать его на мониторе с разрешением большем либо равном 1280 X 960. К сожалению моему ноутбуку не хватает пикселей по высоте. Но это ограничение обходиться.Есть вариант, сказать системе, что у нее есть внешний монитор, с нужным разрешением, и пользуясь лупой, работать с симулятором, но это не очень удобно. Я установил виртуальную машину (там, при желании можно задать любое разрешение). Если вы уже настроили всю инфраструктуру на локальной машине и вам лень повторять все эти действия еще раз, то можно воспользоваться утилитой Disk2VHD, которая создаст виртуальный диск с копией вашей системы, вам остается только использовать его на виртуальной машине. Я же решил повторить процедуру установки заново, и решил поподробнее остановиться на этом процессе.
Для начала вам необходима студия 2008. Затем нужно установить XNA 2.0. В прошлый раз я писал что для установки последнего вам понадобиться 2005 студия, но это не так. Достаточно установить только версию для распространения, да и весит она к тому же меньше (в 50 раз). Третьим шагом будет установка непосредственно Surface SDK.
При запуске Surface Simulator запускается приложение Water, более известное под названием Surface Laguna, только в последней еще и рыбки есть. На Виртуальной машине оно не работает, не хватает эмулируемой видеокарты. Других приложений там нет, впрочем, напишем своих.
Меня поначалу несколько напугало то, что Surface находиться “к верх ногами” по отношению к нам. но потом понял, что это понятие к Surface просто не применимо, ведь пользователь может оказаться с любой стороны. Так что, “это не баг, это фича”, что б вы не забывали особенности Surface.
Для начала я решил запустить примеры, что бы можно было посмотреть возможности Surface Simulator. При включенном симуляторе. проекты по умолчанию запускаются на нем. Для знакомства вполне подойдет пример ControlsBox. Там есть примеры элементов управления, оптимизированных для Surface.
На симуляторе вы можете имитировать множественное касание, последовательно расставляя точки соприкосновения. Для этого достаточно зажав правую клавишу мыши, в том месте где вы хотите закрепиться, кликнуть на левую, и касание останется в этом месте. Теперь вы можете касаться далее. для того что бы убрать скопившиеся касания существуют специальные кнопки в правой части меню:
Так же, тем людям, которые плохо знакомы с Surface интересно будет узнать, как же работать с текстовыми полями. Ответ прост, с каждым из них ассоциирована своя виртуальная клавиатура, которую можно вертеть и масштабировать.
Так же Surface Simulator позволяет работать с тегами. Теги – это особый механизм Surface, позволяющий идентифицировать объекты. Есть два вида тегов это byte-теги, которые представляют собой 256 различных значений:
А так же это Identity-теги, которые позволяют задать >340 282 366 920 938 000 000 000 000 000 000 000 000 уникальных значений:
Теги, кроме значений, имеют еще и направления, что позволяет вам определить, как повернут тегированный объект. В Surface SDK входит специальное приложение для печати тегов Identity Tag Printing Tool.
Но вернемся к симулятору. У него есть инструменты, что бы симулировать касание любого из этих тегов:
Чтобы закрыть запущенное приложение, нажмите на кнопку Surface в любом из углов экрана. Далее нажмите кнопку I’m done и симулятор перезапустит Surface

Опубликовано
3 декабря 2009 г. 2:41
в
Блог начинающего программиста
2
Просмотров: 406