如何在HoloLens中創建一個2D的Hello World程序


注:本文提及到的代碼示例下載地址 > How to build an "Hello World" 2D app in HololLens.

HoloLens 是微軟的一款MR Glass(混合現實全息眼鏡), 國內某非著名SQ主播出了個片子介紹它,有興趣的點這里:http://v.youku.com/v_show/id_XMTcxNjIzNzQ2MA==.html?from=y1.7-1.2

HoloLens中可用的App大致分為兩種類型:

開發的前期准備:

  • 你的VS版本必須是VS 2015或以上(推薦 vs 2015 update 3及以上),不然沒有Win10 UWP開發套件的。下載地址點這里:https://www.visualstudio.com/vs-2015-product-editions
  • 必須安裝Win 10 UWP 開發套件。在安裝VS的時候把安裝 UWP這塊的勾選上就可以了。
  • 你還需要一個酷炫到沒朋友的HoloLens模擬器→_→。

一切准備妥當,讓我們來開始創建一個HoloLens的2D Hello World程序:

  1.首先我們來先造一個筏子→_→,打開VS 並創建一個UWP app。

    

  2.打開MainPage.xaml,貼入如下代碼:

 1 <Page
 2     x:Class="HololensApp.MainPage"
 3     xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
 4     xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
 5     xmlns:local="using:HololensApp"
 6     xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
 7     xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
 8     mc:Ignorable="d">
 9 
10     <Grid Background="{ThemeResource ApplicationPageBackgroundThemeBrush}">
11         <StackPanel>
12             <StackPanel Orientation="Horizontal">
13                 <TextBlock Text="Click count:" />
14                 <TextBlock Text="{Binding ClickCount}" />
15             </StackPanel>
16             <Button Click="Button_Click">Click Me</Button>
17         </StackPanel>
18     </Grid>
19 </Page>

  在CS代碼中貼入如下代碼:

public sealed partial class MainPage : Page
{
    public MainPageViewModel ViewModel = new MainPageViewModel();

    public MainPage()
    {
        this.InitializeComponent();

        this.DataContext = ViewModel;
    }

    private void Button_Click(object sender, RoutedEventArgs e)
    {
        ViewModel.ClickCount++;
    }
}

public class MainPageViewModel : BindableBase
{
    private int _clickCount;
    public int ClickCount
    {
        get { return _clickCount; }
        set { SetProperty(ref _clickCount, value); }
    }
}


[Windows.Foundation.Metadata.WebHostHidden]
public abstract class BindableBase : INotifyPropertyChanged
{
    public event PropertyChangedEventHandler PropertyChanged;

    protected bool SetProperty<T>(ref T storage, T value, [CallerMemberName] String propertyName = null)
    {
        if (object.Equals(storage, value)) return false;

        storage = value;
        this.OnPropertyChanged(propertyName);
        return true;
    }

    protected void OnPropertyChanged([CallerMemberName] string propertyName = null)
    {
        PropertyChanged?.Invoke(this, new PropertyChangedEventArgs(propertyName));
    }
}

  修復掉引用錯誤:在划紅線的位置點擊,出現小燈泡后選擇小燈泡里的選項即可。

  

  3.然后選擇調試環境(這里你需要安裝HoloLens 模擬器)

    

  3.然后按F5鍵,開始跑程序。

    這時模擬器就會啟動並且部署你的app到模擬器,模擬器比較慢,耐心等待一段時間,

     

   當程序運行起來后,你可以看到如下界面:

    

    在app窗體上右鍵向上拖動以固定改App,此時app才算是真正運行起來:

     使用W,A,S,D和上下左右鍵移動中間的圓點到按鈕上並按空格鍵,可以發現上面的數字顯示你點擊的次數:

    

到此,該演示就結束了,是不是有種受騙上當的感覺?TMD這不就是UWP嗎? 

是的,其實他就是UWP,只是閹割版而已,重說三:閹割版,閹割版,閹割版,也就是有些UWP的特性在HoloLens現階段中是不支持的,這一點才是真正需要你注意的地方。詳細的列表請查閱微軟官方文檔:Current limitations for apps using APIs from the shell

HoloLens 3D入門教程請戳http://www.cnblogs.com/onecodeonescript/p/5925906.html

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM