SQLの窓 イラストAC フリー素材

2014年02月05日

Windows 8.1 + Visual Studio 2013 + WebGL + Three.js v65

いろいろ調べても見つけられなかったので、自分で確かめました。

このテストでは、Three.js の v65 を使用していますが、Windows8.1 で使うにあたって、OrbitControls がちらつくようになっていたので、v57 と比べて少し変更してちらつかずに視点変更をできるようにしました 



▼ テストに使った内容
Three.js : WebGL限定の Cube テクスチャによる『パノラマ背景』



posted by at 2014-02-05 15:44 | オワコン | このブログの読者になる | 更新情報をチェックする

2012年11月08日

Microsoft Visual Studio 2010 のエミュレータは localhost で PC にアクセスできてた。

というか、それが普通の開発環境。

しかし、実機で動かすと動かない。Not Found となる。

さらに、出たばかりの Windows Phone 8 SDK のエミュレータでは・・・

エミュレータでも、localhost が動かない。

Android は そもそも localhost は使えないし、別の PC 扱いなので使えないのが当然。エミュレータであろうと、localhost が使えたのがおかしいとは言えるんだけれど、実際全く世の中に認められていなかったので、そんな仕様になってたんだろうな・・・。



※ Windows Phone 8 エミュレータ。
( Windows Phone 7 のエミュレータも動くし、7 のコードは一部の問題を除いて動作します )

で、今日出た問題は・・・

日本語入力で『かな10キー』が表示されないので、『設定』で追加すると使えるようにはなるけれど、エミュレータを終了させるとリセットされる。

どないせよと。


posted by at 2012-11-08 01:09 | オワコン | このブログの読者になる | 更新情報をチェックする

2012年11月01日

Windows Phone で Zune を終了しても実機デバッグはできる( つまり、カメラが使える )

これも 高橋 忍氏のブログですね。

秋コン:実質5行で作るMusicPlayer

学生が音楽アプリ作ろうとして見つけたんですが、学生がカメラを使える事を教えてくれました。しかし、Zune っていらんわ・・・ほんまに。
実機デバッグの仕方に注意

Zune で接続しているときには、写真や音楽系のデバッグができません。そこで、このようにしてデバッグします。

Zune でデバイスとPCを接続して同期接続にする
Zune を終了させる
C:\Program Files (x86)\Microsoft SDKs\Windows Phone\v7.1\Tools\WPConnect\x64\WPConnect.exe もしくは 
C:\Program Files\Microsoft SDKs\Windows Phone\v7.1\Tools\WPConnect\x86\WPConnect.exe を実行する
この状態なら音楽系のデバッグもできます。
たしかに、動きました。これで、カメラで撮った画像を WEB にアップロードするプログラムはすぐできます。Twitter や Facebook にカメラで撮った画像をアップロードも近いうちに学生が作ってくれる予定です。
posted by at 2012-11-01 23:28 | オワコン | このブログの読者になる | 更新情報をチェックする

Windows Phone SDK 8.0 がリリースされました。高橋 忍氏のブログをチェックするといいと思います

もっとかかると思ったんですが、Windows8 の発売にあわせて来たようです。以下がこの二日の間に書かれた記事で、どれも目を通しておく価値があります。動かしてすぐ思ったのは、エミュレータがかなり変わった感じで、実際『戻る』ボタンでデバッグしているアプリが終了しない、というところでした(『Windows Phone SDK 8.0 で注意したいこと』に書かれてます)。

Windows Phone 8.0 Emulator のキー割り当て

WP7アプリをWP8アプリで動作したら。が・になる

Windows Phone SDK 8.0 で注意したいこと

WP8SDK で提供されるもの

Windows Phone SDK 8.0 リリース



posted by at 2012-11-01 23:22 | オワコン | このブログの読者になる | 更新情報をチェックする

2012年10月31日

Windows Phone 8 のエミュレータのコンテンツ


Windows Phone 8 のエミュレータのコンテンツがたくさん増えています。内容はまだ確認できていませんが、デバッグにバリエーションが増えそうです。( 以前はブラウザしか無かったので )

今日10台ほど Windows Phone8 のSDK をインストールしました。なのでまだあまり動作確認できておらず。ノーマルテンプレートの動作確認と Windows Phone 7.1 で作成していたものをそのまま使える事を確認しました。

が、Windows8 で使っている SDK である HttpClient が使えていません。参照等でどうにかなるのかなどのテストは時間が足らずにできていません。これらは来週に持ちこす事になってしまいました。

あと、Windows Phone 7.5 の実機は認識してくれなかったようです。


posted by at 2012-10-31 20:21 | オワコン | このブログの読者になる | 更新情報をチェックする

2012年09月29日

App クラスを介してページ間の参照 / Windows Phone(C#)

App.xaml.css 全体

App クラスにプロパティを定義
// メインページのインスタンスを格納
public MainPage mainPage { get; set; }
public Page1 page1 { get; set; }

※ 宣言を static にすると、キャストが必要無くなります。


MainPage.xaml.cs
public partial class MainPage : PhoneApplicationPage
{
	// コンストラクター
	public MainPage()
	{
		InitializeComponent();

		// メインページの参照を App のプロパティにセット
		(App.Current as App).mainPage = this;
	}

	private void ApplicationBarMenuItem_Click(object sender, EventArgs e)
	{

		if ((App.Current as App).page1 != null)
		{
			// ページ1のクラス
			Debug.WriteLine((App.Current as App).page1.GetType());
			// Page1 のページタイトル
			Debug.WriteLine((App.Current as App).page1.PageTitle.Text);
		}

		Debug.WriteLine(((ApplicationBarMenuItem)sender).Text + " がクリックされました");
		this.NavigationService.Navigate(new Uri("/Page1.xaml", UriKind.Relative));

	}

}

Page1.xaml.cs
public partial class Page1 : PhoneApplicationPage
{
	public Page1()
	{
		InitializeComponent();

		// ページ1の参照を App のプロパティにセット
		(App.Current as App).page1 = this;

	}
}




posted by at 2012-09-29 14:42 | オワコン | このブログの読者になる | 更新情報をチェックする

『Windows8(C#) 2ページテンプレート』で、2ページ目で HttpClient で JSON データをバインドする

テンプレート

Windows8(C#) 2ページテンプレート

データ

http://textt.net/sworc/20120924055943.txt

JSON処理

JSON.net の文字列から内容の参照のバターンサンプルがわりと全く無かったので作成
Json.NET - James Newton-King

BasicPage1.xaml.cs 内では、直接 DataContext にセットしているので、その時点でバインドされて表示されます。
<!-- HttpClient で取り出すデータの為に追加した TextBox -->
<TextBox
	x:Name="TextBox1"
	HorizontalAlignment="Left"
	Height="26" 
	Margin="128,34,0,0" 
	Grid.Row="1" 
	TextWrapping="Wrap" 
	Text="{Binding Path=id}" 
	VerticalAlignment="Top" 
	Width="143">
</TextBox>


BasicPage1.xaml.cs
namespace App74
{
	public sealed partial class BasicPage1 : App74.Common.LayoutAwarePage
	{
		private HttpClient httpClient;
		private string responseBodyAsText;
		private Class1 class1 = new Class1();

		public BasicPage1()
		{
			this.InitializeComponent();
			this.init();
		}

		private async void init()
		{
			httpClient = new HttpClient();
			httpClient.MaxResponseContentBufferSize = 256000;
			httpClient.DefaultRequestHeaders.Add("user-agent", "Mozilla/5.0 (compatible; MSIE 10.0; Windows NT 6.2; WOW64; Trident/6.0)");
			HttpResponseMessage response = await httpClient.GetAsync("http://textt.net/sworc/20120924055943.txt");
			response.EnsureSuccessStatusCode();

			responseBodyAsText = await response.Content.ReadAsStringAsync();
			class1 = JsonConvert.DeserializeObject<Class1>(responseBodyAsText);
			TextBox1.DataContext = class1;
//			class1.NotifyPropertyChanged("id");

		}

		protected override void LoadState(Object navigationParameter, Dictionary<String, Object> pageState)
		{
		}

		protected override void SaveState(Dictionary<String, Object> pageState)
		{
		}
	}
}

オブジェクトのすべてのプロパティが変更されたことを示すには、PropertyChangedEventArgs の PropertyName プロパティに String.Empty を使います

HttpClient のサンプルソースは、こちらから参照できます。

Microsoft のドキュメントならこのページです。

バイント用のクラス : Class1
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.ComponentModel;



namespace App74
{
	class Class1 : INotifyPropertyChanged
	{

		public Class1()
		{
		}

		public event PropertyChangedEventHandler PropertyChanged;

		public string id { get; set; }

		public void NotifyPropertyChanged(string propertyName)
		{
			if (PropertyChanged != null)
			{
				PropertyChanged(this,
					new PropertyChangedEventArgs(propertyName));
			}
		}
	}
}

※ id のみ実装しています

ドキュメントリンク

windows8


posted by at 2012-09-29 13:56 | オワコン | このブログの読者になる | 更新情報をチェックする

2012年09月20日

Windows8 の最新版で、C#のテンプレート(Windows ストア)で、ページを追加すると固まるというバグがあるので、テンプレートを作って回避しています。

v6.2 build 9200




「C:\Users\ユーザ名\Documents\Visual Studio 2012\Templates\ProjectTemplates\Visual C#」ディレクトリに「Windows Store」ディレクトリを作成し、その中にテンプレートを入れる

かなり酷いバグです。Windows8 の問題では無く、Visual Studio の問題だとは思いますが、10数人で実行してとてもとても高い確率(ほぼ、殆ど)で発生します。

ページを追加する際に、新しいクラステンプレートファイルがいくつか Common フォルダに追加され、BasicPage1.xaml と BasicPage1.xaml.cs が追加されるのですが( MainPage.xaml と同じ場所 )、その後プロジェクトに登録するところでフリーズします。

ですから、いったん Visual Studio を強制終了させて、それらの追加されたファイルを『既存』として追加登録すれば正常な状態になります・・・が、いちいちフリーズさせてられないので、『クイック スタート: アプリ バーの追加』にある内容を実装してテンプレート化してあります。
( アプリバーの『HELP』をクリックすると、BasicPage1に移動 )

この際、Common フォルダにある StandardStyles.xaml の該当するコメント部分を解除しないと、StaticResource EditAppBarButtonStyle 等がエラーになるのでその処理も済ませてあります。

しかし・・・相当酷いバグですね・・・。

ページをさらに追加したい場合は、BasicPage1.xaml 部分で CTRL+C して CTRL+V すると、通常のエクスプローラと同様にコピーされるので( .cs も同時コピーされます )、名前を BasicPage2.xaml に変更してから、中身の BasicPage1 の 1 を 2 を全て変更するとページ追加になります。( BasicPage1.xaml と BasicPage1.xaml.cs と両方行って下さい )



posted by at 2012-09-20 03:55 | オワコン | このブログの読者になる | 更新情報をチェックする

2012年07月01日

黒子のバスケが始まるまでに Windows Phone の開発環境を作る

凄い私的な計画が前提です。

関連する記事

Windows Phone(C#) 基本テンプレートの解説


まずは、SDK をダウンロード

この中には、Visual Studio 2010 の Windows Phone 用 Express や、その他もろもろが入っています。ダウンロードするファイルは、vm_web2.exe というオンラインインストール用プログラムです



678 M あるので、しばらくかかります。
( 現在進行中 )

そういえば、Windows8 のプログレスは完全にアニメーションになってしまってますが、結構かっこいいです。( JavaScript Metro でのお話 )

しかし、Fate/Zero 終わってしまいましたが、後半は救いの無い話でした。あの後、Fate/stay night へと同じノリでアニメとか無いんでしょうか。それに、そろそろホライゾンが始まると思うのですが、個人的にはアクセル・ワールドが大好きです。

Adobe が Flash Player のモバイル開発を完全に打ち切ったと報じられていますが、AIR For Android は継続するはずなので、別にどうでもいいや・・・って言うのが正直なところ。それより、モバイルのブラウザがもっと、モバイルのネイティブな API の仲介役になってくんないかなぁ・・・と思うのです。そのほうが、何かと世の中が活気づくと思うんですが。

AIR で作る Android アプリは、予想以上に簡単に作れてしまうし、Flex でできてた事がそのまま移行できる可能性が非常に大きいので、Java でガリガリ書くよりは、これも世の中が表層で動くと言うか、活気づいてくれるファクターであるとも思うのです。そういう意味で、昨日テストした Native Extentions の成果はとても満足するものでした。

AIR だと、こんなリストは簡単に作れてしまうし。



ちょっと古いライブラリですが、Papervision3D で dae をロードするのは実機で確認済ですし、たぶん Flex ベースの FLARToolkit も乗りそうな気もするのです( 非 Flex では実装した人が居たようですし )




( 現在 516 M )

※ Office 製品は、吹き出し作るのに最適だ。

で、Android の導入部分は区切りが付いたので、せっかく資料を置いていってくれた Microsoft さんに感謝しつつ、Windows Phone に手を染めてるわけですが、普通に WebClient 使ったサンプル置いていってくれたのはいいんですが、逆に底辺部分に不明が多い現状なので、テンプレートをチェックしたいと言うのが主な目的です。というか、Windows8 の JavaScript Metro が Windows Phone で動くとかあるのかなぁ・・・・。あると話が簡単でいいんだけどね。

C# ですが、例によってデザイナ上のコントロールをダブルクリックすると、イベントコードが作成されるようなので、そのへんはさすがに他の追随を許さないと認識できるんですが、結局『人間』がする事なので、Microsoft の関係者の努力で良い環境を作ってくんないと、いいものでも流行るとは限らないですし。と、言うか『人材』が重要だと思ったりするわけです。

※ ダウンロードが終わってインストールが始まった

で、SIM とか無くていいので、実機を安く手に入れれるようになって欲しいですよね。まだ過渡期だから、何がどうなるやら・・・って言うのは解るんですが、中古でいいから『おねがい』ってのが正直な気持ち。

インストール終わっても、Windows Live ID 経由の登録作業があるんだけど・・・黒子に間に合うんだろうか。

しかし、何で iPhone はあんなに敷居が高いんでしょうね。あれじゃあ学生レベルでは手が出ないし、教えるほうとしても、効率が悪すぎるの選択肢からは外さざるを得ない。と言うか、日本じゃ Apple 触るプログラマって、純潔種ではなかなか・・・、レアと言うか。



やっと、次へ進める。

このダイアログは閉じて、指示通りに『Microsoft Visual Studio 2010 Express for Windows Phone』を実行。つまり、メニューの「ヘルプ」の「製品の登録」から登録を行うとの事。



真ん中のボタンをクリック。

ブラウザが開くので、英文ですが * の付いた必須項目だけを入力するか、選択します。一番最後の『メールを送るよ』チェックは外しておきましょう。英文で送って来られても困るので。そして、続けると キーが表示されます。後でメールにも送られるそうですが、その場で入力するのでコピーしておきます。と言うか、今待ってるダイアログに入れてやります。

で、次からはすぐには必要無いと思われる、アプリ配布用の登録だと思われますが、http://create.msdn.com/ja-JP/ に行って『メンバシップに』移動していろいろ登録するとの事です。まだ、何も予定無いのでこれは後回しにしたいと思います。というか、もうすぐ黒子が始まってしまいます。



さっそくですが、プロジェクト開始。



ん・・・。黒子始まってしまいました。



ま、とりあえず今日はこれで終わり。






posted by at 2012-07-01 00:31 | オワコン | このブログの読者になる | 更新情報をチェックする

2012年06月17日

AIR + Papervision3D でメタセコイアの 3D キャラを遊ぶサンプルパッケージ

3D モデルをクリックしたら終了してしまうバグがあったので修正しました。それと、zip 書庫はテクスチャが1枚でないとうまくいかないので、ふつうの DAE にしました。そこで、3D モデルデータも増やして、追加ロードできるようにしました。







Papervision3D_2.1.920 を使って昔 Web 上で動作する Flex のアプリを Flex4 の AIR に書き換えてみたものです。データは、もともとはメタセコイアのものですが、Blender で読み込んで .dae で出力しました。

Papervision3D は、もう更新がされていない見はなされたライブラリですが、Canvas 使った Three のライブラリを Google Chrome 上で動かすより CPU 付加は低かったりします。時代が変わったせいで、Papervision3D の書き方と Three.js の書き方を比較したりしていますが、これはこれでアリだと思っているのは、iPhone では Canvas は 3D 目的では使い物ににならない(Safariの話)ので、AIR ならひょっとして iPhone のアプリとして動作するようなので、しばらくはプログラマの趣味として意味あるかな・・・なんて。

Papervision3D は、zip 書庫の処理も実装されているので、.dae と テクスチャを zip 書庫にして参照できるのもちょっとうれしいです。このパッケージに入っている DAE_v.as は、昔必要だったのでそのへんを最適化したコードのはずなんですが・・・あんまりよく覚えていません。

ま、動くからいいか。


関連する記事

Adobe AIR Flex をだれでも簡単に作成できるパッケージ : ★ 超シンプル FLV プレーヤー ★
Three.js で使う為に、メタセコイア等のデータを変換して WEB で表示する

Papervision3D

Papervision3D Official Documentation

SDK

Download Adobe Flex SDK










下のキャプチャは、Google ギャラリーのデータをスケールや座標を調整してロードしたものです(テクスチャを dae と同じところに置いて、dae の中のバス記述を変更しています)。



dae2.x = 5;
dae2.y = -30;
dae2.z = -140;
dae2.scale = 4;

3Dデータについて

モンスター 3D モデルは、光陰像型さんが作成されたメタセコイアデータを
Blender で、Collada( dae ) に変換して使用しています


posted by at 2012-06-17 22:13 | オワコン | このブログの読者になる | 更新情報をチェックする
Seesaa の各ページの表示について
Seesaa の 記事がたまに全く表示されない場合があります。その場合は、設定> 詳細設定> ブログ設定 で 最新の情報に更新の『実行ボタン』で記事やアーカイブが最新にビルドされます。

Seesaa のページで、アーカイブとタグページは要注意です。タグページはコンテンツが全く無い状態になりますし、アーカイブページも歯抜けページはコンテンツが存在しないのにページが表示されてしまいます。

また、カテゴリページもそういう意味では完全ではありません。『カテゴリID-番号』というフォーマットで表示されるページですが、実際存在するより大きな番号でも表示されてしまいます。

※ インデックスページのみ、実際の記事数を超えたページを指定しても最後のページが表示されるようです

対処としては、このようなヘルプ的な情報を固定でページの最後に表示するようにするといいでしょう。具体的には、メインの記事コンテンツの下に『自由形式』を追加し、アーカイブとカテゴリページでのみ表示するように設定し、コンテンツを用意するといいと思います。


※ エキスパートモードで表示しています

アーカイブとカテゴリページはこのように簡単に設定できますが、タグページは HTML 設定を直接変更して、以下の『タグページでのみ表示される内容』の記述方法で設定する必要があります

<% if:page_name eq 'archive' -%>
アーカイブページでのみ表示される内容
<% /if %>

<% if:page_name eq 'category' -%>
カテゴリページでのみ表示される内容
<% /if %>

<% if:page_name eq 'tag' -%>
タグページでのみ表示される内容
<% /if %>
この記述は、以下の場所で使用します


Android SDK ポケットリファレンス
改訂版 Webデザイナーのための jQuery入門
今すぐ使えるかんたん ホームページ HTML&CSS入門
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX