UWPにてXAMLコントロールに対するBlur(ぼかし)効果は廃止されました。 しかし、RenderTargetBitmapというXAMLコントロールをビットマップ化するAPIを用いてビットマップ化 -> ぼかし画像処理 -> コントロールのBackgroundに適用をすることでぼかしを再現できます。 というわけでこんなBlurコントロールを作ってみました。

  あとはこんな感じにUpdateBlurメソッドを適用するとOKです。

  Blur Effectが廃止されたUWPでBlurを実現するという謎の技術を手に入れた pic.twitter.com/RDCLn2r0i4 — がりっち (@garicchi) May 27, 2016 ブラーをSplitViewのPaneの背景にするとすごくかっこいいですがSplitViewのPaneは出るのに時間がかかるため、ブラーがへんなところにかかります。 そこでupdateBlurの引数にdelayの時間を指定することで指定時間後にブラーをかけることで対処できます。 すりガラス風SplitPane pic.twitter.com/vN5fClLMOU — がりっち (@garicchi) May 27, 2016 超参考になったサイト Render XAML to image, Blur app UI, or how to enable awesome user experiences in your UWP app

cocos-2dxでメニューを作成するにはMenuItemImageクラスとMenuクラスを使います。 まず、MenuItemImageを作ります。createメソッドにはメニューを押していないときの画像、メニューを押したときの画像、とメニューが押されたときのコールバック関数を書きます。 今回はメニューが押されたときにラムダ式が呼ばれるようにします。 そしてMenuItemImageが作成できたらMenuクラスに追加します。 Menuクラスは複数のMenuItemImageをまとめて1つのメニューとして扱います。

cocos2dxで画像を表示するにはSpriteクラスを使います。 createメソッドに渡す引数はcocos2dxのResourcesフォルダからの相対パスになります。 画像の表示位置はsetPositionメソッドにVec2構造体を参照渡しすることで表示位置を指定できます。 画像の表示位置は左下からの座標になります。 最後に自信のレイヤーにaddChildすることで画像を表示できます。

cocos2dxで空のシーンを作るにはLayerクラスを継承したシーンクラスを作ります。 CREATE_FUNCマクロはautorelease付きのcreateメソッドを作ってくれます。 createSceneメソッドではSceneを一つ作り、その子要素として自身をレイヤーに追加します。 CREATE_FUNCマクロで作ったcreateメソッドではinitメソッドを呼んでくれるのでinitメソッドで初期化を行います。 最初に必ずスーパークラスのinitを呼び、今回はLogに出力することとします。 TestScene.h

TestScene.cpp

最後に、AppDelegate.cppに最初に起動するSceneをTestSceneに指定します。

cocos2dxでタッチイベントを取得するためにはEventListenerTouchOneByOneを使います。 イベントリスナーを取得したあと、それぞれのタッチイベントに対しラムダ式でメソッドを登録することでそのイベントが発生したときにラムダ式内が呼ばれます。 最後に、イベントリスナーを登録します。 以下のコードをsceneのinitメソッドに書きます。

本家ドキュメント