ÕâÊÇΪ¡¶³ÌÐòÔ±¡·4ÔÂÆÚдµÄÎÄÕ£¬ÊÇÔÚ¡¶Ë«ÖؾªÏ²¡ª¡ªWindows
Phone Developer Tools³õÌåÑé¡·µÄ»ù´¡ÉÏÔö¼ÓÁËһЩÄÚÈÝ£¬°üÀ¨WebBrowser¿Õ¼ä¡¢MediaPlayer¿Õ¼ä£¬»¹ÓÐÒ»¸ö·Ç³£¼òµ¥µÄXNA³ÌÐò¡£Ï£Íû¶ÔWindows
Phone¿ª·¢ÓÐÐËȤµÄÅóÓÑÓÐһЩ°ïÖú¡£
Windows Phone¿ª·¢¹¤¾ßÔÚMIX 2010ÉÏ»ðÈȵdz¡ÁË¡£Windows Mobile¿ª·¢ÕßÃÇѹÒÖÐí¾ÃµÄÈÈÇéÖÕÓÚ±¬·¢³öÀ´£¬¶ÔÓÚWindows
PhoneµÄ»ªÀöתÉí£¬¿ª·¢ÕßÃǰý±á²»Ò»£¬ÓÐÈ˶ÔSilverlight¡¢ XNAµÈм¼Êõ³äÂúÆÚ´ý£¬ÓÐÈË¶Ô·ÅÆúÒÔǰ°æ±¾¼æÈÝÐÔ¡¢²»Ö§³ÖC++¿ª·¢Âú¸¹Ô¹ÑÔ¡£
ÎÞÂÛÈçºÎ£¬Windows PhoneΪÎÒÃÇ´øÀ´ÁËеÄÓû§ÌåÑ顢еĿª·¢¹¤¾ß£¬×ܱÈÈÿª·¢ÕßÊØ×ÅWindows
MobileµÄÀÏÃæ¿×£¬Ò»ÆðÂýÂý±äÀÏ£¬ÒªºÃ°É£¿ÏÂÃæ£¬¾ÍÈÃÎÒÃÇ¿´¿´Windows Phone¿ª·¢¹¤¾ß»áΪ¿ª·¢ÕßÃÇ´øÀ´ÄÄЩ¾ªÏ²£¬ßÀ£¬»òÕß¾ªÑÈ¡£
Windows Phone¿ª·¢¹¤¾ßµÄÉçÇøÔ¤ÀÀ°æ£¨CTP£©¿ÉÒÔÔÚMSDNÉÏÏÂÔØ¡£ÆäÖаüÀ¨Visual Studio
2010 Express for Windows Phone, Windows PhoneÄ£ÄâÆ÷, Silverlight
for Windows PhoneºÍXNA 4.0 Game Studio¡£Ä¿Ç°£¬Windows Phone¿ª·¢¹¤¾ßÖ»Äܰ²×°ÔÚWindows
7ºÍVista SP2ÉÏ£¬»¹ÐèÒªÏÔ¿¨Ö§³ÖDirectX 10¡£
´ò¿ªVS 2010ºó£¬ÎҵĸоõϲÓDzΰ룬ϲµÄÊÇWindows PhoneÌṩÁËÁ½ÖÖ²»Í¬µÄ¿ª·¢Æ½Ì¨£ºSilverlight
for Windows PhoneºÍXNA 4.0£¬ÓǵÄÊÇ£¬ÒÔǰWindows MobileµÄC++ºÍ.NET
Compact Framework¶¼Óò»ÉÏÁË¡£ËùÒÔ£¬ÒÔǰµÄWindows Mobile³ÌÐòÔ±Ò²Òª¾ÀúÒ»¸öÍ´¿àµÄתÐ͹ý³Ì¡£
½ÓÏÂÀ´£¬ÎÒÃǾͿ´¿´Windows Phone´øÀ´µÄË«ÖØ¾ªÏ²°É£¡
Silverlight for Windows Phone
Silverlight for Windows PhoneÏÕЩÂÙΪһ¸öЦ»°£¬Windows Mobile³ÌÐòÔ±ÔÚ±§Ô¹£¬SymbianÉϵÄSilverlight¶¼³öÀ´ÁË£¬Windows
MobileÉϵÄSilverlightÔÚÄÄÀÕâ´Î£¬Silverlight for Windows PhoneÀ´ÁË£¬¶øÇÒËùÓÐWindows
PhoneÉϵÄÓ¦ÓñØÐëÓÃSilverlightÀ´Ð´¡£
Silverlight×î´óµÄÓÅÊÆÔÚÓÚÓëExpression BlendµÄÎÞ·ìÕûºÏ£¬¿ÉÒÔ¿ìËÙÉè¼Æ³ö·Ç³£Æ¯ÁÁµÄÓû§½çÃæ£¬½«³ÌÐòÔ±´Ó·±ËöµÄUI¿ª·¢Öнâ·Å³öÀ´¡£¶øÇÒSilverlight
for Windows Phone²»ÔÙÊÇSilverlightµÄ×Ó¼¯£¬¶øÊÇÖ§³ÖSilverlightµÄÈ«²¿¹¦ÄÜ¡£ÕâÑùµÄºÃ´¦ÊÇ£¬ÒÑÓеÄSilverlight³ÌÐòºÜÈÝÒ×ÒÆÖ²µ½Windows
PhoneÊÖ»úÉÏ¡£
ÔÚ³ÌÐò²Ëµ¥µÄXNA Game Studio 4.0Ï´ò¿ªVS 2010£¬´´½¨Ò»¸öй¤³Ì£¬ÔÚVisual
C#ÏÂÕÒµ½Èý¸öÄ£°å£¬Ñ¡Ôñ¡±Windows Phone Application¡±¡£

²»ÖªµÀPhone List ApplicationÊÇɶ£¬¿´ÆðÀ´Windows
PhoneµÄ½çÃæ»áÒÔListΪÖ÷ÁË¡£µã»÷OKºó£¬»áÖ±½Ó½øÈëIDEµÄÖ÷½çÃæ£º

ËÆÔøÏàʶ£¬×ó±ßÊǹ¤¾ßÀ¸£¬¿ÉÒÔÍÏ×§¿Ø¼þµ½UIÉè¼ÆÆ÷ÉÏ£¬ÓëXAML½çÃæ¶ÔÓ¦¡£¸ù¾ÝʾÀý³ÌÐò£¬ÎÒ×¼±¸±àдһ¸öä¯ÀÀÆ÷ºÍýÌå²¥·ÅÆ÷£¬Ê×ÏÈÊÇ´ÓToolboxÖн«MediaElementºÍWebBrowser¿Ø¼þÍÏ×§µ½UIÉè¼ÆÆ÷ÉÏ¡£

ΪÁ˲¥·Å¶àýÌåÎļþ£¬ÎÒÃÇ»¹ÒªÔÚSolution ExplorerÀォwmvÎļþÌí¼Óµ½¹¤³ÌÀï¡£×ö·¨ºÍWindows
Mobile¹¤³ÌÒ»Ö£¬Ñ¡ÔñContentÀàÐÍ£¬wmvÎļþ»áºÍ¹¤³ÌÒ»Æð·¢²¼¡£
½ÓÏÂÀ´¾ÍÊDZàд´úÂëÁË¡£MediaElement×é¼þÐèÒªÉèÖÃSourceÊôÐÔ£¬È»ºóµ÷ÓÃPlay·½·¨¡£¶øWebBrowserÑ¡ÔñNavigate·½·¨À´·ÃÎÊÖ¸¶¨ÍøÕ¾¡£
private void button1_Click(object sender, RoutedEventArgs e)
{
textBlockListTitle.Text = textBox1.Text;
if (Convert.ToBoolean(checkBox1.IsChecked))
{
webBrowser1.Visibility = Visibility.Collapsed;
mediaElement1.Visibility = Visibility.Visible;
// play Video
mediaElement1.Source = new Uri("Wildlife.wmv", UriKind.Relative);
mediaElement1.Position = TimeSpan.FromMilliseconds(0);
mediaElement1.Play();
}
else
{
mediaElement1.Visibility = Visibility.Collapsed;
webBrowser1.Visibility = Visibility.Visible;
// Browser
webBrowser1.Navigate(new Uri(textBox1.Text, UriKind.Absolute));
}
}
|

´úÂë±à¼Íê³Éºó£¬Ñ¡ÔñWindows Phone Emulator×÷ΪĿ±êÉ豸¡£Ö±½Ó°´F5£¬Windows
Phone Emulator»á±»Æô¶¯¡£
Silverlight for Windows PhoneÀà¿âÖÐÔö¼ÓÁ˺ܶàPhone¶ÀÓеŦÄÜ¡£Microsoft.PhoneµÄÃüÃû¿Õ¼äÏ£¬°üÀ¨Phone¡¢µç»°±¾¡¢µç×ÓÓʼþ¡¢Camera¡¢BingµØÍ¼¡¢Marketplace¡¢ä¯ÀÀÆ÷ºÍËÑË÷µÈ¹¦ÄÜ¡£Microsoft.Device.SensorsÖаüÀ¨¸÷ÖÖ¸÷ÑùµÄ´«¸ÐÆ÷£¬ÆäÖаüÀ¨ÖØÁ¦¸ÐÓ¦¡£SilverlightÖл¹°üÀ¨ÁËLocationºÍPush
NotificationµÈ¶ÀÓй¦ÄÜ¡£
ÎҵijÌÐòÔËÐÐÆðÀ´¾ÍÊÇÏÂÃæÕâ¸öÑù×Ó¡£³ÌÐò´øÓÐÇ¿ÁÒµÄZune·ç¸ñ£¬²»µ«ÓбêÌ⣬¶øÇÒ»¹ÓÐÃ÷ÏÔµÄBlock List
Title¡£ÁíÍâ¾ÍÊÇÊäÈë·¨£¬´øÓÐÃ÷ÏÔiPhoneµÄºÛ¼££¬²»¹ý¶ÔµçÈÝÆÁµÄÖ§³Ö¿´À´²»ÊÇÎÊÌâÁË¡£
ÎÒ»¹Ã»ÓÐ×Ðϸ¿´Windows Phone EmulatorµÄʵÏÖ»úÖÆ£¬²»¹ý´ÓÆô¶¯ËÙ¶ÈÀ´¿´£¬¾ø¶Ô²»ÊǰÑÕû¸öWindows
Phone·ÅÔÚÄ£ÄâÆ÷ÀïÖ´ÐÐÁË¡£ÔÀ´Windows Device EmulatorÄǸö»ùÓÚÈýÐÇ2410µÄСÉí°å¹À¼ÆÒ²Åܲ»ÆðÀ´¡£·´ÕýÒ²ÊÇManaged
Code£¬¹À¼ÆÓÖÊÇJIT±àÒëÄÇÌס£»Ð㱼䣬·Â·ð»Øµ½ÁËPocket PC 2002µÄÄê´ú¡£

Windows PhoneнçÃæ
¼ÈÈ»°ÑWindows Phone EmulatorÆðÀ´ÁË£¬ÎÒÃǾÍ˳±ã²Î¹ÛÏÂWindows PhoneµÄнçÃæ°É¡£µã×ó±ßµÄBack¼ü£¬»á½«Ó¦ÓóÌÐòµÄDebugger¶Ïµô£¬²»ÖªµÀ³ÌÐòÊÇ·ñÍ˳öÁË¡£µãÖмäµÄWin
Button£¬»á»Øµ½Ö÷½çÃæ¡£
²»¹ýÖ÷½çÃæÉÏÖ»ÓÐIEÒ»¸öͼ±ê¡£Windows PhoneÄ£ÄâÆ÷Öл¹Ã»ÓаüÀ¨ÆäËûµÄϵͳ¹¦ÄÜ£¬±ÈÈçµç»°¡¢µç×ÓÓʼþ¡¢ËÑË÷µÈ¡£Ä£ÄâÆ÷ҲûÓа취ģÄâÖØÁ¦¸ÐÓ¦¡¢Location¶¨Î»·þÎñ¡£Ï£Íûµ½Windows
Phone¿ª·¢¹¤¾ßÕýʽ·¢²¼Ê±£¬ÕâЩϵͳ¹¦Äܶ¼¿ÉÒÔ±»Ö§³Ö¡£

IEµÄÓû§ÌåÑé·Ç³£ºÃ£¬Ò»¿ªÊ¼ÐÂÊÖ·¢ÃÉ£¬Ã»ÕÒµ½µØÖ·À¸£¬ºó±ß¾Í·Ç³£Ë³ÀûÁË¡£ÎÞÂÛÊÇÒ³ÃæËõ·ÅʱµÄƽ»¬¶¯»£¬»¹ÊÇÊäÈëʱÇл»µ½Êʵ±´óСµÄÉè¼Æ£¬¶¼·Ç³£Ë³ÊÖ¡£ÌرðÊÇMulti-TabµÄÉè¼Æ£¬¸Ð¾õ·Ç³£Êæ·þ¡£ÌØÒâÊÔÁËGoogle
Map£¬ÏÔʾһÇÐÕý³£¡£ÖÇÄÜÊÖ»úʱ´ú£¬ÓÐÒ»¸öºÃµÄä¯ÀÀÆ÷£¬Æäʵ¾Í³É¹¦ÁËÒ»°ë¡£
Ŷ£¬»¹ÓÐÒ»µã£¬ÎÒÔÚWindows Phone EmulatorÀïûÓÐ×öÈκÎÅäÖ㬾ͿÉÒÔÉÏÍøÁË¡£
XNA 4.0
ÔÚÒÆ¶¯¿ª·¢½ç£¬XNA»¹²»ÊÇÒ»¸öÏìÁÁµÄÃû×Ö£¬µ«ÊÇÔÚÓÎÏ·¿ª·¢½ç£¬Xbox 360ÉϵÄXNAÔòÊÇ̩ɽ±±¶·¼¶µÄ¿ª·¢¼¼Êõ¡£XNA²»½ö½öÊÇÒ»¸ö.NETµÄÓÎÏ·¿ª·¢Æ½Ì¨£¬»¹°üÀ¨Á˺ܶàÖ§³ÖXbox
Live·þÎñµÄ¹¦ÄÜ£¬±ÈÈ磬Avatars¼¼ÊõÖ§³ÖÔÚÓÎÏ·ÖÐÏÔʾÓû§Éè¼ÆµÄÐÎÏó¡£Ï£ÍûÕâÏî¼¼ÊõÄܹ»ºÍͬÃûµçÓ°Ò»Ñù£¬¸Ä±äÒÆ¶¯ÓÎÏ·¿ª·¢µÄÀúÊ·¡£
Windows PhoneÖ§³ÖµÄÊÇXNA 4.0£¬ÓëZune HDÉϵÄXNA 3.1ÓÐÉ¶Çø±ð£¿Ö§³Ö3DÓÎÏ·£¡Ä¿Ç°ÎÒÃÇ¿´µ½µÄÕâ¸öXNA
4.0Ô¤ÀÀ°æÖ»Ö§³ÖWindows Phone¿ª·¢£¬²»Ö§³ÖWindowsºÍXbox 360µÄÓÎÏ·¿ª·¢¡£
Silverlight for Windows PhoneÊǵäÐ͵ÄʼþÇý¶¯ÐÍÓ¦ÓóÌÐò¡£¶øXNAÊÇÓÉʱ¼äÇý¶¯µÄÓ¦ÓóÌÐò£¬ÕâÒ²ÊÇÓÎÏ·¿ª·¢¼¼ÊõµÄµäÐÍÌØµã¡£Ã¿¸ô¹Ì¶¨Ê±¼ä£¬ÏµÍ³»á´¥·¢Updateʼþ£¬Ê¹³ÌÐòµÃÒÔ¸üС£
²»ÄÇô¶à·Ï»°ÁË£¬´´½¨¸öXNA 4.0µÄй¤³Ì°É£¡

Ñ¡ÔñWindows Phone Game¾ÍºÃÁË¡£IDE»·¾³ÏÂûÓнçÃæ±à¼Æ÷£¬ÐèÒª³ÌÐòԱͨ¹ý´úÂëÀ´ÊµÏÖUI¡£XNA³ÌÐòµÄ½á¹¹·Ç³£¼òµ¥£¬³ÌÐòÔ±Ö»ÐèҪʵÏÖ¼¸¸ö¼òµ¥µÄ·½·¨£¬¾Í¿ÉÒÔʵÏÖÒ»¸ö¼òµ¥µÄXNA³ÌÐòÁË¡£ÕâЩ·½·¨°üÀ¨Initialize³õʼ»¯·½·¨¡¢LoadContent¼ÓÔØÎļþ¡¢Update¸üÐÂÄÚÈݺÍDraw»æÖƵȷ½·¨¡£ÏÂÃæÊÇʾÀý´úÂëÆ¬¶Î£º
protected override void LoadContent()
{
// Create a new SpriteBatch, which can be used to draw textures.
spriteBatch = new SpriteBatch(GraphicsDevice);
texture1 = Content.Load("winphone");
texture2 = Content.Load("winphone");
soundEffect = Content.Load("Windows Ding");
spritePosition1.X = 0;
spritePosition1.Y = 0;
spritePosition2.X = graphics.GraphicsDevice.Viewport.Width - texture1.Width;
spritePosition2.Y = graphics.GraphicsDevice.Viewport.Height - texture1.Height;
sprite1Height = texture1.Bounds.Height;
sprite1Width = texture1.Bounds.Width;
sprite2Height = texture2.Bounds.Height;
sprite2Width = texture2.Bounds.Width;
}
|
LoadContent·½·¨ÖÐʹÓÃContent.Load·½·¨À´¼ÓÔØ×ÊÔ´Îļþ£¬ÕâЩÎļþÒ²ÊÇ×÷Ϊ×ÊÔ´±»¼ÓÔØµ½XNA³ÌÐòÖеġ£
protected override void Update(GameTime gameTime)
{
// Allows the game to exit
if (GamePad.GetState(PlayerIndex.One).Buttons.Back == ButtonState.Pressed)
this.Exit();
// Move the sprite around.
UpdateSprite(gameTime, ref spritePosition1, ref spriteSpeed1);
UpdateSprite(gameTime, ref spritePosition2, ref spriteSpeed2);
CheckForCollision();
base.Update(gameTime);
}
|
Update·½·¨¸ºÔð¸üÐÂÔªËØµÄλÖ㬽øÐÐÅöײ¼ì²â¡£Èç¹ûºóÍ˼ü±»°´Ï£¬ÔòÍ˳ö³ÌÐò¡£
protected override void Draw(GameTime gameTime)
{
GraphicsDevice.Clear(Color.CornflowerBlue);
// TODO: Add your drawing code here
// Draw the sprite.
spriteBatch.Begin(SpriteSortMode.BackToFront, BlendState.AlphaBlend);
spriteBatch.Draw(texture1, spritePosition1, Color.White);
spriteBatch.End();
spriteBatch.Begin(SpriteSortMode.BackToFront, BlendState.Opaque);
spriteBatch.Draw(texture2, spritePosition2, Color.AliceBlue);
spriteBatch.End();
base.Draw(gameTime);
}
|
Draw·½·¨¶Ô¸üкóµÄÔªËØ½øÐлæÖÆ¡£
ÎÒÃǵĵÚÒ»¸öXNA³ÌÐò»áÏÔʾÁ½ÕÅͼƬ£¬ÕâÁ½ÕÅͼƬ»áÔÚÆÁÄ»ÖÐÔËÐУ¬ÔËÐе½±ßԵʱ£¬»á·´µ¯»ØÀ´¡£

дÔÚ×îºó
Windows Phone¿ª·¢¹¤¾ß²»ÊÇÍêÃÀÎÞȱµÄ£¬±ÈÈçVisual StudioÆô¶¯µ÷ÊÔ³ÌÐòµÄʱ¼ä±È½Ï³¤£¬Ï£ÍûÕâÊÇÄ£ÄâÆ÷µÄÎÊÌ⣬ÔÚWindows
PhoneÉ豸Éϲ»ÊÇÕâÑù¡£
дÍêÕâÆªÎÄÕ£¬ÐÄÖÐ×î¶àµÄ»¹ÊǸп®£¬ÎÒÃDz»Ó¦¸Ã½«Windows PhoneÊÓ×÷Windows MobileµÄÉý¼¶ÁË£¬ÕâÊÇÒ»¸öȫеÄÊÖ»ú²Ù×÷ϵͳ¡£Windows
PhoneµÄ¹¦ÄÜ¿ÉÄÜûÓÐWindows Mobile·á¸»£¬µ«ÊÇËûÓ®µÃºÈ²Ê£¬¿¿µÄÖ»ÓÐËĸö×Ö¡ª¡ªÓû§ÌåÑé¡£
·ï»ËÄùÅÍ£¬Windows PhoneµÄ·»¹ºÜ³¤£¬µ«ÊÇÎÒÃÇÕâЩ½ô½ô×·ËæµÄ¿ª·¢ÕßÃÇ£¬ÒªµÃ²»¾ÍÊǶÔδÀ´µÄһ˿ã¿ã½Âð¡£
|