まさかのシャープ「Mebius」復活か!?


シャープの「Mebius」がWindowsタブレットで復活!?

ascii.jpの記事ですがIGZOパネルのWinodws8.1タブレットとしてMebiusブランドが復活する模様です。

この機体、ビジネス向けとはいえLTE(Xi)対応で持ち運びタブレットとしては一歩前進でしょうか。

また、10インチで「2560×1600」という高解像度、CPUは4コアの「Atom Z3770」(2.39GHz)なので、ゲームにはあまり向かないでしょうが、ビジネス向けとしては十分でしょう。

写真からすると無線キーボードもあるようなので、あまり困らないで操作可能かな?

個人的に開発からするとこの解像度ってどうアプリ作っておこうってのが、、、

2013流行語アプリ選手権&総選挙応募アプリ

2013流行語アプリ選手権&総選挙の【「激面(おも)スティックファイナリアリティぷんぷんゲーム」部門】へ応募しました。

もぐらたたきメイン画面
もぐらたたきメイン画面

WindowsStoreLinkImage

DLと応援よろしくお願いします

2013流行語アプリ選手権&総選挙 by @IT Windowsタブレット向けアプリ開発

title

@IT主催のWindowsタブレット向けアプリ開発イベント
Windowsタブレット向けと書かれてますが、Windowsストアアプリ(Windows8アプリ)の開発イベントですね

応募条件に「2013年9月1日~12月1日に新たにWindowsストアに新規公開されたアプリ」と書かれているのですでに作成済みアプリでもOKのようです。

テンプレートベースの物やゲームなど八つの応募部門があるのでいろいろ挑戦可能です。

C++/CXからC#を参照する

メインにDirectXを使用するアプリなどでC++/CXだけでは開発効率などがよくなかったり、XAMLの部分はC#で扱いたいというときがあると思います。
その際はプロジェクトの追加でC#をWindowsRuntimeComponentとして追加して参照します。

C++/CXでの参照はC++/CXプロジェクトを右クリックして「参照」を選択
0000
上記のような参照画面が出てくるので、「新しい参照の追加」でC#プロジェクトを参照してください。
クラスなどはC++/CX内で「using」することで呼び出せます。

screenshot_09272013_102206
このようにXAML部分(画面下部)はC#のユーザーコントロールにすることが出来ています。

背景はDirextXで表示しているため「SwapChainBackgroundPanel」を宣言することでXAMLとの共存を図っています。

新型Surface公式発表された

Surface Blogに、Surface 2, Surface Pro 2の情報が出ています。

プレオーダー用のページも準備されていますが、まだオーダーはできないようです。※プレオーダーが可能になった模様(制限あり)

Surface Pro 2
画像からカバーの新色も紫色もあるようです。

Docking Station for Surface Pro includes Mini DisplayPort video output, three USB 2.0 ports and one USB 3.0 port, an Ethernet port, and 3.5mm audio in and out.
Pro2用のようですが、ドッキングステーションによるポート拡張が行えるようです。

OSは Windows RT 8.1 and Windows 8.1 Proが搭載
機体のキックスタンドは二段階調整可能
SurfaceはProと同じくフルHD解像度に
SurfacePro2に第4世代IntelCore i 5、ストレージに512GBが追加されています
Surface2はTegra4搭載
Surface Music Kitというミキサー型タイプカバーが登場
2014年予定ではあるもののバッテリー付きタイプカバー、Power Coverが出るので、Proでもほぼ一日持つようになりそうですね

色々展開がされるようですが、日本はいつになるかですかねー

docomoのiPhoneでwi-fi契約

docomo Wi-Fi」サービスが利用可能なようです。
「docomo Wi-Fi(spモード)」のほうは非対応として断られる、または契約が解除されるようです。

ショップではこの説明が端折られる可能性があるようで、注意が必要なようです。

docomo Wi-Fi」サービスの下の方には小さくですが、下記のように書かれています。

iPhoneご購入のお客様へ
iPhone専用パケットプランおよびISP(SPモード)をご契約いただくことにより、永年無料キャンペーンの対象となります。

このように書かれていますので、ショップにはしっかり確認をとって契約を行うようにしないと非常に損をすることになるかもしれません。

もぐらたたきゲーム Windowsストアアプリ

もぐらたたきゲームをリリースしました。

1分以内にガンガン叩いてください!!
ちょっとした時間のお遊びや気分転換にどうぞ!

もぐらたたきメイン画面
もぐらたたきメイン画面

WindowsStoreLinkImage

プログラム的にはあまり無理なことはしていません。
もぐらをユーザーコントロールとして擬似的なゲームタスクをコントロール内に仕込んで、タイムループで回すことで非同期状態を維持して約28FPSで回っています。
DirectX関係も使用していませんが、音を入れていないのでそこにXAudio2での発声を入れようかなとは考えています。

The Microsoft Conference 2013 事前受付中とのこと

マイクロソフト(以下MS)が主催するMSのテクノロジ、サービス、デバイスの紹介、解説などが行われる一大イベントです。

公式:The Microsoft Conference 2013

タイミング的にWindows8.1やVisualStudio2013などは出ていると思われるので、これらの展示や解説が行われるものと思われます。
また、うわさされる新型Surfaceが出てくる可能性もあるのではないかと思われますが、発売となると微妙ですかね、、、あったとしても日本でも予定してますとかになりそう。

出来ればこのカンファの前にWindowsPhoneの日本展開に関して何かしら進展があればうれしいところですが……

開催日が平日ではありますが、参加できる方は参加されると面白いお話が聞けたりするのかなーと思います。

サッカー戦術ボードの画面切り替え

高橋さんのBlogで紹介いただいて、その中で画面の切り替えどうやってるか記事にしてほしいとのことでしたので、一応書いてみます。
……とはいえ、たいしたことはしていないんですが(汗

// Boardを切り替える
private bool bBoard = true;
private void Button_Click(object sender, RoutedEventArgs e)
        {
            // ペンを消す
            InkCanvas.Children.Clear();

            MagnetClear();

            if (bBoard)
            {
                grid.Background.SetValue(ImageBrush.ImageSourceProperty, new BitmapImage() { UriSource = new Uri(@"ms-appx:/Image/goalboard.png") });

                bBoard = false;
            }
            else
            {
                grid.Background.SetValue(ImageBrush.ImageSourceProperty, new BitmapImage() { UriSource = new Uri(@"ms-appx:/Image/whiteboard.png") });

                bBoard = true;
            }

            SetElevenMagnet();
        }

というわけで、GridのBackgroundにSetValueで入れ替えるだけという単純なつくりで、「bBoard」をflagに管理するという手です。
「SetElevenMagnet();」はBoardごとの初期設定値にマグネット配置を行っています。
本当はプロパティ化してというのも考えたんですが、ちょっと手抜きでべたな実装にしています。
プロパティでやるならコールバックに切り替えを仕込んでおく、Gridを使わずにImageで描画するほうがいいかもしれないですね。

・シンプルサッカー戦術ボード
WindowsStoreLinkImage
・対応言語:日本語、英語
・Simple soccer (football) tactic board

コードスニペット

プロパティの記載が一々同じことを書かないとで面倒だなーという部分を「コードスニペット」としてまとめると便利です。
通常の「prop」だと「public int MyProperty { get; set; }」だけで、これはこれで楽なのですが、制御部分もという場合は物足りません。

MSエヴァンジェリストの高橋忍氏作成された【Dependency Property for Windows Phone コードスニペット】これをベースに改造をして「添付プロパティ」としてコードを展開するようにしました。
ファイルはテキストとして「DependencyPropertyWP.snippet」で保存しますが、文字コードをutf-8で保存しましょう。
マイ ドキュメントの「Visual Studio 2012\Code Snippets\Visual C#\My Code Snippets」に保存してください。
VS内でpropwp2[tab]で使用できます。

Windowsストアアプリで使用する場合は「[System.ComponentModel.Description(“説明文”), System.ComponentModel.CategoryAttribute(“タブ”)]」はコメントアウトすればOKです。

<?xml version="1.0" encoding="utf-8"?>
<CodeSnippets xmlns="http://schemas.microsoft.com/VisualStudio/2008/CodeSnippet">
  <CodeSnippet Format="1.0.0">
    <Header>
      <Title>Dependency Property for Windows Phone</Title>
      <Shortcut>propwp2</Shortcut>
      <Description>Dependency Property for Windows Phone コード スニペット</Description>
      <Author>shinobu takahashi / CryEarth tomoyuki sasaki</Author>
      <SnippetTypes>
        <SnippetType>Expansion</SnippetType>
      </SnippetTypes>
    </Header>
    <Snippet>
      <Declarations>
        <Literal>
          <ID>type</ID>
          <ToolTip>プロパティの型</ToolTip>
          <Default>int</Default>
        </Literal>
        <Literal>
          <ID>name</ID>
          <ToolTip>プロパティ名</ToolTip>
          <Default>MyPropName</Default>
        </Literal>
        <Literal>
          <ID>ownerclass</ID>
          <ToolTip>このプロパティを定義しているここのクラスです</ToolTip>
          <Default>ownerclass</Default>
        </Literal>
      </Declarations>
      <Code Language="CSharp">
        <![CDATA[[System.ComponentModel.Description("説明文"), System.ComponentModel.CategoryAttribute("タブ")]
	 public $type$ $name$
        {
            get { return ($type$)GetValue($name$Property); }
            set { SetValue($name$Property, value); }
        }

        public static readonly DependencyProperty $name$Property =
            DependencyProperty.Register(
				"$name$",
				typeof($type$),
				typeof($ownerclass$),
				new PropertyMetadata(   // メタデータ
					"",		// デフォルト値
					new PropertyChangedCallback(On$name$Changed)) );

	private static void On$name$Changed(DependencyObject obj, DependencyPropertyChangedEventArgs e)
        {
            $ownerclass$ userControl = obj as $ownerclass$;

            if (userControl != null)
            {
                $type$ newValue = ($type$)e.NewValue;
            }
        }

$end$]]>
      </Code>
    </Snippet>
  </CodeSnippet>
</CodeSnippets>