• <li id="00i08"><input id="00i08"></input></li>
  • <sup id="00i08"><tbody id="00i08"></tbody></sup>
    <abbr id="00i08"></abbr>
  • 新聞中心

    EEPW首頁 > 嵌入式系統 > 設計應用 > Windows Phone開發工具初體驗

    Windows Phone開發工具初體驗

    作者: 時間:2016-10-10 來源:網絡 收藏

    本文引用地址:http://www.czjhyjcfj.com/article/201610/306005.htm

    新界面

    既然把 Emulator起來了,我們就順便參觀下的新界面吧。點左邊的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 開發工具

    評論


    相關推薦

    技術專區

    關閉
    主站蜘蛛池模板: 桃园县| 兴国县| 卢氏县| 崇义县| 台南市| 岳池县| 上犹县| 西城区| 甘泉县| 民丰县| 绥宁县| 南涧| 阿拉善右旗| 黎平县| 黔南| 陵水| 永福县| 泰安市| 南昌市| 诸暨市| 永顺县| 东城区| 杭州市| 丰顺县| 云林县| 腾冲县| 东阳市| 教育| 中超| 扶绥县| 陆川县| 贵溪市| 东辽县| 临洮县| 松潘县| 吉木萨尔县| 涪陵区| 济宁市| 桓台县| 会昌县| 黄浦区|