手の動きに合わせて画面上のキャラクターを操作するLeap Motionプログラムを作る
2013年11月7日(木)
プログラム・コードはリスト4のようになります。
kameUpDownRightLeftModel.vbのプログラム・コード
リスト4(kameUpDownRightLeftModel.vb)
・・・・コード略・・・・ Private myTop As Double ' kameTopプロパティの定義 Public Property kameTop As Double Get Return myTop End Get Set(value As Double) myTop = value OnPropertyChanged("kameTop") End Set End Property Private myLeft As Double ' kameLeftプロパティの定義 Public Property kameLeft As Double Get Return myLeft End Get Set(value As Double) myLeft = value OnPropertyChanged("kameLeft") End Set End Property Private myRight As Double ' kameRightプロパティの定義 Public Property kameRight As Double Get Return myRight End Get Set(value As Double) myRight = value OnPropertyChanged("kameRight") End Set End Property Private myBottom As Double ' kameBottonプロパティの定義 Public Property kameBottom As Double Get Return myBottom End Get Set(value As Double) myBottom = value OnPropertyChanged("kameBottom") End Set End Property Private mykameSource As BitmapImage ' kameSourceプロパティの定義、上下左右に対応した亀の画像を取り込むプロパティ Public Property kameSource As BitmapImage Get Return mykameSource End Get Set(value As BitmapImage) mykameSource = value OnPropertyChanged("kameSource") End Set End Property ' UpとDown、Left、Rightによって読み込む亀の画像を変化させ、上下、左右の値を ' 変化させるSwipeActionメソッドの処理 Private Sub SwipeAction(ByVal sd As SwipeDirection) Select Case sd Case SwipeDirection.Up ' 派生クラスに下位レベルのサービスを提供する処理 Dispatcher.Invoke(Sub() kameSource = New BitmapImage(New Uri("Images/kame_up.png", UriKind.Relative)) kameTop -= 5 End Sub) Exit Select Case SwipeDirection.Down ' 派生クラスに下位レベルのサービスを提供する処理 Dispatcher.Invoke(Sub() kameSource = New BitmapImage(New Uri("Images/kame_down.png", UriKind.Relative)) kameTop +=5 End Sub) Exit Select Case SwipeDirection.Left ' 派生クラスに下位レベルのサービスを提供する処理 Dispatcher.Invoke(Sub() kameSource = New BitmapImage(New Uri("Images/kame_left.png", UriKind.Relative)) kameLeft -= 5 End Sub) Exit Select Case SwipeDirection.Right ' 派生クラスに下位レベルのサービスを提供する処理 Dispatcher.Invoke(Sub() kameSource = New BitmapImage(New Uri("Images/kame_right.png", UriKind.Relative)) kameLeft += 5 End Sub) Exit Select End Select End Sub
MainWindow.xaml内に[kameUpDownRightLeftModel]を取り込む。
まず名前空間として「xmlns:local="clr-namespace:kameMoveLeapMotion"」を定義します。
次に
リスト6「UpDownMode」を取り込んだMainWindo.xaml
<Window x:Class="MainWindow" xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" xmlns:local="clr-namespace:KameMoveLeapMotion" Title="MainWindow" Height="1080" Width="1920" WindowState="Maximized"> <Window.DataContext> <local:kameUpDownRightLeftModel/> </Window.DataContext> <Canvas> <Image x:Name="Image1" Stretch="None" Source="{Binding kameSource}" Canvas.Left="{Binding kameLeft}" Canvas.Top="{Binding kameTop}" Canvas.Right="{Binding kameRight}" Canvas.Bottom="{Binding kameBottom}"/> </Canvas> </Window>
MainWindow.xaml.vbには何も記述しません。
画面上のキャラクターを手の動きに合わせて操作するLeap Motionプログラム(1)
手の動きに合わせて画面上のキャラクターを操作するLeap Motionプログラム(2)
連載バックナンバー
Think ITメルマガ会員登録受付中
Think ITでは、技術情報が詰まったメールマガジン「Think IT Weekly」の配信サービスを提供しています。メルマガ会員登録を済ませれば、メルマガだけでなく、さまざまな限定特典を入手できるようになります。
全文検索エンジンによるおすすめ記事
- 選択した画像を指の動きに合わせて回転させるLeap Motionプログラムを作る
- 画面上の図形を5本の指で操作する基本的なLeap Motionプログラムを作る
- マウス・カーソルで指定した画像の一部を拡大表示するLeap Motionプログラム
- Leap Motionのスクリーン・タップを使った音声の再生と画像の表示
- 張子の虎をキー・タップすると頭が上下に動くLeap Motionプログラムを作る
- 声で選んだアイテムをプレイヤーの身体に装着・連動させるKinectサンプル
- センサーとサウンドの処理を組み込んでアプリを完成させる
- Kinect v2で実現する打楽器のバーチャル演奏
- 顔認識APIを使って写真に黒縁メガネをかける
- 読み込んだ画像に装飾を施し、PictureHUBに保存する