Category: Windows Phone 7

Visual Studio 2010 から 2012 のヘルプを見に行くようにする。


新年明けましておめでとうございます。みむらです。

・・あけおめ関連の記事は後で書くとしまして、
大掃除中に見つけたことで一つ。

 

現在私の環境には、Visual Studio 2010 と 2012 がインストールされており、
それぞれを使い分けています。

ただヘルプに関しては、両方インストールしておいても特に幸せなことはありませんので
ディスクを圧迫する関係から、いつか一つにまとめたいと思っていました。

今回、
Visual Studio 2010 から Visual Studio 2012 のヘルプを参照するようにして、
問題解決(?)しましたので紹介します。

 

環境:

Windows 8 Pro
Visual Studio 2010 Ultimate
Visual Studio 2012 Ultimate


1. Visual Studio 2010 をインストール。

2. Visual Studio 2012 をインストール。

3. Visual Studio 2012 のヘルプビューアにコンテンツをインストールする。

image

 

4. Microsoft Help Viewer 1.1 とその Language Pack をアンインストール

image

消す際には、 Language Pack から消すとよさそうです。

 


5.  ms-xhelp:// を Help Viewer 2.0 で処理するように関連づける。

http://mimumimu.net/software/blogup/vs2010_hv2.zip

ftype や assoc でできないかとやってみたのですがどうもうまくいきませんでしたので、
レジストリファイルを用意しました。

このファイルを展開して結合します。


手順は以上のようになります。

当方の環境で試しましたところ、ソースコード上の命令に対する F1 ヘルプも動作しました。
(挙動がわからない命令にキャレットを合わせて F1 を押す)

 

複数環境を入れてある方は、このような方法で統合して、
リアル空間だけではなく、バーチャル空間の掃除も済ませてみてはいかがでしょうか。

スマートフォン勉強会@関東 #14 で話してきた。–XNA と WP7 のはなし。


どうもみむらです。

そんなわけで、先日、
http://sumaben.jp/?SPWorkshopKanto14

IIJ にて Windows Phone 7 で XNA を使ったゲーム開発をちょっと始めて見るのもいいんじゃない。
というようなプレゼンをしてきました。

 

なにやら、Ustream 上には録画が残っているようなので、
見たい人はどうぞ。

http://www.ustream.tv/recorded/16899244

プレゼンテーションは、アニメーションとかを完全に切っても問題にならない程度にはしたつもりですが、
ダウンロードしますと元のファイルが取って来れますので、気になる方はそちらから。

 

私のプレゼンの前に、Corona によるさくさく開発をやられてしまったので、
非常にやりづらかったのはありますが、なんとかやってきました。

プレゼンのデータは、流れるようにということを意識して、
上から読んでいくとうまくいく仕掛けにはなっているのですが、まぁ、面倒くさいということで要点を纏めてみます。

1.読み込み処理を LoadContent に書く。

2.描画処理を Draw に書く。

この2点だけ知って、あとはがりがり書けば書けると思います。

 

あといくつかサンプル。

 

1.画像を追加するには。

1.1. ソリューションエクスプローラの「~Content(Content)」となっている所に投げ込む。

image

1.2. 読み込むコードを 「 LoadContent 」に追記する。

this.texture = this.Content.Load<Texture2D>("pics");

(ダブルクォーテーションで囲われた「pics」は、ファイル名に合わせて修正する。)

1.3. 描画するコードを「 Draw 」に追記する。

spriteBatch.Begin();
spriteBatch.Draw(this.texture, Vector2.Zero,Color.White);
spriteBatch.End();

spriteBatch は、2D 系の描画系で使うものと捕らえておいて頂ければ。
Begin() で始めて、描画して、 End() で終えます。

 

2.Windows Phone 7 のタッチを使うには。

2.1. 参照を追加

using Microsoft.Xna.Framework.Input.Touch;

2.2. Initalize に、ドラッグ処理(FreeDrag) を有効にするようにするコードを追加する。

TouchPanel.EnabledGestures = GestureType.FreeDrag;

2.3. Update の中で、 TouchPanel.IsGestureAvailable がTrue かどうか(ジェスチャが存在するかどうか)を調べて、
あれば(動きがあれば) ReadGesture() で取得して、座標を格納する。

if (TouchPanel.IsGestureAvailable)
	this.vec = TouchPanel.ReadGesture().Position

2.4. 描画時に、上記で取得した座標を使って描画するようにする。

spriteBatch.Begin();
spriteBatch.Draw(this.texture, this.vec, Color.White);
spriteBatch.End();

 

とりあえず、こんな感じです。

あくまでもさくっと、初めての人が興味を持ってもらえればという気持ちで作ったドキュメントなので、
かなり足りない部分や、物足りない部分があるかと思いますが、
その辺りは調べて頂くか、聞いて頂ければお答えできるかもしれません。

WPConnect を自動的に立ち上げる。


Windows Phone 7 で MediaElement でごにょりたいときとか。

Zune を終了して、WPConnect を立ち上げる作業、
毎回の開発時に行うのは実に面倒くさい。
ということで、バッチファイルを書いてみました。

32bit 用 : [WPConnect_x86.bat]
64bit 用 : [WPConnect_x64.bat]

ダウンロードして、デバイスを接続し、起動してください。
立ち上げると、自動的に Zune を強制終了し、 WPConnect を立ち上げます。

なにげに Windows Phone の MediaElement は拡張子を見る。


MediaElement にファイルを指定する場合、

this._media.Source = new Uri(“http://mimumimu.net/hello.mp4”);

だったり、

var stream = new IsolatedStorageFileStream(“hoge.mp4”,FileMode.Open,IsolatedStorageFile.GetUserStoreForApplication());
this._media.SetSource(stream);

なんていう方法をとるわけですが、

ここで、一部の形式のファイルに関しては、拡張子を見てファイル形式を判定するようで、
特に mp4 の場合、拡張子の最後が .mp4 でないと、動いてくれません。

もちろんこれは、 Source = new Uri(); とする場合はもちろんのこと、
SetSource(); する場合でも、拡張子を参照するようです。

ブレークポイントを設定して眺めてみますと、
image

ってことで、ばっちりファイルパスが格納されてますし、
Name プロパティで取得出来るので、絶対判断基準に使ってます。

ってことで、Windows Phone 7 で MediaElement が絶対対応している形式なのに、
読んでくれないっていうことがあれば、拡張子が原因の可能性があります。 ということで。

Windows Phone 7 実機で MP4 再生をデバッグ状態で行う。


デバッグ状態、もしくは PCと接続した状態でWP7 で MediaElement を利用して再生しようとすると、
見事に再生されません。

それを解決するには、 Zune ではなく、 WPConnect というツールを利用して、
デバイスと接続する必要があります。

利用方法は以下の通り。

1.Zune を終了する。
image

2.WPConnect のフォルダを開く

フォルダは、
32bit 環境では: C:\Program Files\Microsoft SDKs\Windows Phone\v7.0\Tools\WPConnect
64bit 環境では: C:\Program Files (x86)\Microsoft SDKs\Windows Phone\v7.0\Tools\WPConnect\

にあります。

3.WPConnect を実行する。

image

この際、Zune が起動していると、接続に失敗します。

失敗する場合、タスクマネージャーで Zune.exe が立ち上がっていないか確認して下さい。
image