SlideShare a Scribd company logo
1 of 85
Download to read offline
C#/WPFで作る
デスクトップマスコット入門
ver1.1
2015/1/12
東京大学大学院 工学系研究科
Kenji Fujikido
要約
- 既存のデスクトップマスコット紹介(少し)
- WPFの紹介(少し)
- 具体的なコードとともにサンプル作成
+自作デスクトップマスコットの宣伝
要求知識: 前半は誰でも読める話題、
後半はプログラミングできる人/C#知ってる人向け
方向性 : 娯楽特化。ネタとしてどうぞ。
目次
自己紹介 / 注意と免責
デスクトップマスコットって何?
WPFって何?
想定する事前知識と計算環境
キャラを表示する
会話っぽいものを作る
更に改造するためのヒント
知識準備
実際に
作る
自己紹介
 東京大学大学院 工学系研究科所属
 本名はヒミツ
連絡先: njslyr.trpg@gmail.com
 研究では機械学習とかやってます
 普段使ってる言語: C#/C/Python
+教養レベルでプログラマブルロジック(vHDL)とか
並列計算(CUDA, MPI)とか
注意とか免責
・本資料の見解は所属機関と一切関係ありません
・ソースコードを掲載していますがご利用は自己責任にて
目次
自己紹介 / 注意と免責
デスクトップマスコットって何?
WPFって何?
想定する事前知識と計算環境
キャラを表示する
会話っぽいものを作る
更に改造するためのヒント
知識準備
実際に
作る
デスクトップマスコットって何?
デスクトップにマスコットが常駐して何かする(あるいは何もしない)
ソフトウェアの総称
代表例
チューチューマウス
伺か
しめじ
アプリコタン
…
「伺か(SSP)」の初期ゴースト「Emily」
デスクトップマスコットの使いみち
 マウスを使いそうな場所へ移動
 メール/SNSチェック
 RSS購読
 眺める
 撫でる
可愛い ここ重要
ケーススタディ1: 伺か(Emily)
とにかく歴史のあるデスクトップマスコット
複数キャラが喋る
とにかく多機能
イベント駆動に強い
(頭を撫でるとか)
Emilyの頭を撫でた結果
ケーススタディ2: しめじ
勝手に動き回るマスコット
開発者曰く「しめじは何の役にも立ちません」
最大表示数50キャラ
歩行移動 + よじ登り
しかも掴んで投げられる
ケーススタディ3: アプリコタン
RSSフィードリーダーだが可愛さ特化型
機械学習を導入し流行語を検知可能
TwitterなどSNSとの連動も標準サポート
動きが綺麗: 恐らくWPFで動作
Pythonで機能拡張可能
ゆっくりWindowWalker(YWW)
2014年7月から公開
東方Project二次創作「ゆっくり」用ソフト
縦横無尽に移動 + 60FPSアニメ
音声会話を標準搭載
Python対応
ケーススタディ4宣伝:拙作の紹介
各ソフトの性能比較
伺か しめじ アプリコタン YWW
キャラ差し替え ○ ○ ○ ○
アニメーション(仕草) △ △ ○ ◎
アニメーション(移動) △ ○ △ ◎
多キャラ表示 ○ ◎ △ △
Web接続機能 ○ - ◎ △
テキスト会話 ◎ - ○ ○
音声会話 - - ○ ◎
学習機能 - - ◎ -
スクリプト拡張性 ◎ - ○ ○
目次
自己紹介 / 注意と免責
デスクトップマスコットって何?
WPFって何?
想定する事前知識と計算環境
キャラを表示する
会話っぽいものを作る
更に改造するためのヒント
知識準備
実際に
作る
WPFって何?
Windows Presentation Foundationの略
Windows Formの跡継ぎ
GPUレンダリングに対応
滑らかなUI
XAMLで作るGUI
WPFで作れるソフト
ぐらばくさんの「KanColleViewer」
フリーでキレイなGUI
本人も使っていらっしゃるらしい
詳細:
http://grabacr.net/kancolleviewer
WPFの特徴
Windows Presentation Foundationの略
Windows Formの跡継ぎ
GPUレンダリングに対応
滑らかなUI
XAMLで作るGUI
動作比較イメージ
どっちが速い?
アニメーションはとても辛い アニメーションは想定済み
Windows Form: CPUで描画 WPF: GPUで描画
0
2
4
6
8
10
12
14
10 20 30 40 50 60
CPU使用率(%)
フレームレート(FPS)
Windows Form
WPF
高パフォーマンスの裏舞台
GPUは氷山の一角に過ぎない
ビジュアルツリー, 遅延実行, Freeze,...
詳細は長くなるのでぜんぶ省略!
ビジュアルツリー:こういうの。
WPFの特徴
Windows Presentation Foundationの略
Windows Formの跡継ぎ
GPUレンダリングに対応
滑らかなUI
XAMLで作るGUI
滑らかなユーザーインターフェース
現代アプリに不可欠なアニメーション機能がWPFで標準サポート
⇒「動くマスコット」と好相性
具体例:
- ウェブブラウザのタブ操作
- Windows8のタイル
WPFの特徴
Windows Presentation Foundationの略
Windows Formの跡継ぎ
GPUレンダリングに対応
滑らかなUI
XAMLで作るGUI
XAMLって何?
XAML (eXtensible Application Markup Language)
ベースはXMLでGUIをHTMLのように記述可能。とても便利だが。
詳細解説するとキリが無いので勉強は余所でお願いします…
参考(slideshare): めとべや東京5_XAML
http://www.slideshare.net/okazuki0130/20140802-5-xaml
ホントにWindows Formじゃダメ?
Windows Form
Win32API+GDIで初心者バイバイ
1. Win32APIとGDIからのDllImport
2. FormのCreateParamsをオーバーライド
3. BitmapをLock
4. スクリーンのDeviceContext取得
5. CompatibleDeviceContext取得
6. Bitmapのハンドル取得
7. ブレンディング方法を設定
8. UpdateLayeredWindow呼び出し
9. コンテキストとハンドルを解放
10. ビットマップのLock解除
WPF
AllowTransparency=“True”
Background=“Transparent”
WindowStyle=“None”
以上。
そもそも「キャラ表示」の時点で雲泥の差
現代のデスクトップマスコットはWPFで
じゃあ作ろー!
ハッキリ言って比較は不要!
デスクトップマスコットはWPFで決まり
※Windows Formサイド限定機能も知ってた方がお得
色選択用のColorDialog, フォント選択用のFontDialog, ...
目次
自己紹介 / 注意と免責
デスクトップマスコットって何?
WPFって何?
想定する事前知識と計算環境
キャラを表示する
会話っぽいものを作る
更に改造するためのヒント
知識準備
実際に
作る
想定する事前知識と計算環境
事前知識
- C#の基本文法
- XMLの基礎知識(タグ、要素)
計算環境
- Windows 7 SP1以降
- Microsoft Visual Studio 2012以上
※無償版(Express)でOK
なんでC#?
ホントはC#以外(C++, IronPython, Visual Basic)でも大丈夫だが…
世間の評判
C# Python VBC++
難易度
有償版Visual Studioの必要性
Winner!
なんでC#?
参考:
Petzold氏の公式解説書「プログラミングWindows 第6版」でも
C#を使用
2冊合わせてお値段13,000、高いけど良い本
C#を知らない人へ
本で勉強するならこの2冊。
粂井 康孝「猫でも分かるC#プログラミング 第2版」
Ian Griffiths「プログラミングC# 第6版」(※版数に注意!)
目次
自己紹介 / 注意と免責
デスクトップマスコットって何?
WPFって何?
想定する事前知識と計算環境
キャラを表示する
会話っぽいものを作る
更に改造するためのヒント
知識準備
実際に
作る
プロジェクト作成
・VSを起動
⇒ 「新しいプロジェクト」で「Visual C#」の「WPFアプリケーション」を選択
⇒ 適当なプロジェクト名を入れて「OK」
⇒ C#コードではなくXAMLデザイナウィンドウが表示: GUI設計用のウィンドウ
XAMLエディタ
編集は基本ココ
プレビュー画面
まずはHello World
Windows FormのLabelに相当するものを配置
追加
まずはHello World
上部のプレビューでウィンドウ中央に”Hello, World!”が出現
F5(デバッグ実行)やCtrl+F5(デバッグ無し実行)で
プレビューと同じようなウィンドウが出ればOK
画像の表示
リソースとして透過pngファイルを用意
今回使う画像(“yukkuri.png”)
リソース画像の追加
ソリューションエクスプローラを開き、
画像をフォルダかプロジェクトめがけてドラッグ&ドロップ
リソース画像の追加
画像ファイルがソリューションエクスプローラに追加されていれば成功
画像表示用の要素を追加
XAMLを書き換え。TextBlockを消して
<Image Source=“yukkuri.png” />
を追加。画像ファイル名は自分で使ってるモノに修正
画像表示用の要素を追加
・プレビューに画像が出たら成功。デバッグ実行でも動作確認
※実行時に画像が出なかった場合
画像ファイルの「ビルドアクション」設定を確認。
画像ファイルのプロパティからチェックし、
「Resource」になっていなければ「Resource」に直す
ウィンドウが邪魔!
デスクトップマスコットにウィンドウ枠は不要なので消す
AllowTransparency=“True”
WindowStyle=“None”
を指定すると描画がレイヤードウィンドウ上で行われる
(レイヤードウィンドウ: Windows 2003くらいから追加された非矩形ウィンドウ用機能)
さらに
Background=“Transparent”
を加えることでウィンドウが不可視化
※デバッグ中は完全透明でなく半透明にするのも有効
補足:今設定したのって何?
半透明にしたい場合
Background=“#80008000”
A R G B
ウィンドウが消えた!
ウィンドウ表示が消えれば成功。実行して動作確認
※「閉じる」ボタンが無いのでタスクバーから消すかAlt+F4で終了
動作チェック
うまく行ってる場合の実行結果
機能を増やしてみる
現状はただ表示しただけなので最低限の改善が必要
- 「終了」コマンドの用意
- 掴んで動かす
「終了」コマンドを追加
右クリックメニューを作成: <Grid>の手前に追記
イベントハンドラの宣言
イベントハンドラの実装
イベントハンドラをC#で実装(やっとC#の出番)
ソースコードファイル”MainWindow.xaml.cs”に追記
掴めるウィンドウ
掴んで動かす機能、たったの4行
動作確認
ちょっとした落とし穴
現状ではまだ最大化問題が残存
Windows 7でキャラを掴んで画面左上に持って行くと通常のウィンドウ同様に最大化
⇒ 画面を覆う!
リサイズの禁止
リサイズ禁止で解決: リサイズ、最小化、最大化のいずれも無し
目次
自己紹介 / 注意と免責
デスクトップマスコットって何?
WPFって何?
想定する事前知識と計算環境
キャラを表示する
会話っぽいものを作る
更に改造するためのヒント
知識準備
実際に
作る
会話機能の追加
キャラ描画の次はスタンダードな「喋り」機能を実装
※ホントにスタンダード過ぎるので改良必須
会話機能の作成手順
子ウィンドウの追加
子ウィンドウに文字列表示機能を追加
子ウィンドウの追加
子ウィンドウを新しく作る
「プロジェクト」>「クラスの追加」>「ウィンドウ(WPF)」から
”SerihuWindow.xaml”を作成(もちろん別の名前でもOK)
会話機能の作成手順
子ウィンドウの追加
子ウィンドウに文字列表示機能を追加
子ウィンドウの追加
子ウィンドウに文字列を表示できるようにする
子ウィンドウのXAMLにTextBlock要素を追加
子ウィンドウに文字列を表示できるようにする
コードビハインド(SerihuWindow.xaml.cs)にpublicメソッドを定義して
MainWindowからの指示待ち
x:Name属性を与えておくことで
コードビハインドから参照可能
とても大事な注意事項、忘れてるとクラッシュの原因に。
//セリフを表示する
public void DisplayMessage(string message)
{
Dispatcher.Invoke(() => this.serihu.Text = message);
}
補足: Dispatcher?
これ何?
スレッド越しアクセスはダメ、ゼッタイ。
WPFではUI要素に第三者スレッドからアクセスすると怒られる!
UIスレッド
TextBlock
x:Name=“serihu”
SerihuWindow
他スレッド
生成
UIスレッドの聖域
「何ヒトのモンに
手ぇ出しとんじゃワレ!」
スレッドセーフなUI要素アクセス
解決策: スレッド(=Dispatcher)を教えてもらい、処理を「お願い」する
UIスレッド
TextBlock
x:Name=“serihu”
SerihuWindow
他スレッド
生成
UIスレッドの聖域
Dispatcherとして取得
「お前どこスレッド出身?」
スレッドセーフなUI要素アクセス
解決策: スレッド(=Dispatcher)を教えてもらい、処理を「お願い」する
UIスレッド
TextBlock
x:Name=“serihu”
SerihuWindow
他スレッド
生成
UIスレッドの聖域
「お宅のとこのserihuの
Textにコレ書いて下さい」
スレッドセーフなUI要素アクセス
UIスレッド
TextBlock
x:Name=“serihu”
SerihuWindow
他スレッド
生成
UIスレッドの聖域
実際の処理(UIスレッドからなのでOK)
解決策: スレッド(=Dispatcher)を教えてもらい、処理を「お願い」する
補足の補足: Dispatcher必要?
※今回は全処理がUIスレッド上なのでDispatcher不要
しかしマルチスレッドシナリオではほぼ確実に必要
マルチスレッドあるある:
Web接続
スクリプト読み込み
重たいファイル処理
etc...
会話機能の作成手順
子ウィンドウの追加
子ウィンドウに文字列表示機能を追加
簡単なメッセージを表示
メッセージ表示用コード(1/3)
MainWindow.xaml.csにコードを追加
タイマーを用いてセリフ出力
追加
メッセージ表示用コード(2/3)
続き: 二種類のセリフを交互に表示
追加
メッセージ表示用コード(3/3)
続き: 終了前処理を追加(Q. コレが無いとどうなるか?)
追加
実行結果
目次
自己紹介 / 注意と免責
デスクトップマスコットって何?
WPFって何?
想定する事前知識と計算環境
キャラを表示する
会話っぽいものを作る
更に改造するためのヒント
知識準備
実際に
作る
更に改造するためのヒント
まだまだ課題は沢山!いくらやってもキリがない。
参考:「ゆっくりWindowWalker」のコード量: 約1万行
ここからは大雑把な方針付けだけ紹介
更に改造するためのヒント
見た目
動き方
プログラム機能
デザインパターン
見た目の改善
主にセリフ枠に改善の余地
セリフ枠に透過画像または
"WindowStyle=None"を適用
「次へ」「閉じる」ボタンがあると便利
こだわるならTextBlockを使い倒す!
- Span
- HyperLink
- LineBreak
など(HTMLにすごく似てる!)をMSDNで調べてみよう!
WindowStyle=“None”のセリフ枠
更に改造するためのヒント
見た目
動き方
プログラム機能
デザインパターン
動き方の改善
「しめじ」や「ゆっくりWindowWalker」を眺めると発見あり
ウィンドウ枠を地面代わりに
掴む/投げる
画像サイズ伸縮で「ぐにぐに」
- マウス追尾
- ジャンプする
- アプリケーション開始/終了時アニメーション
...
標準アニメーションを使おう!
WPFの標準アニメーションは簡単なわりに多機能
「Storyboard, DoubleAnimation, DoubleKeyFrame」
といった単語で調べて実例検索 & コピペで遊ぶべし
標準アニメーションで作った飛び跳ね動作
更に改造するためのヒント
見た目
動き方
プログラム機能
デザインパターン
プログラム機能の改善
最初の方で触れたような機能含めて色々。
C#はオールラウンダー: 大概のことはググれば出来る
RSS購読
メール/ツイートチェック音声会話
複数キャラトーク
迷ったら「可愛さ第一」が原則!
喋り機能の作成手順
見た目
動き方
プログラム機能
デザインパターン
コードが汚くなる前に: MVVM
※コードが多い or 複数人開発の場合の話
MVVM(Model-View-ViewModel)
- 最近流行ってるデザインパターン、WPFとは相性抜群
SlideShareにもMVVMの解説スライドはたくさん公開されている。
更に改造するためのヒント宣伝
ラストにもう一度だけ。
拙作「ゆっくりWindowWalker」は主に動き方の参考になるので
ニコニコ動画で各バージョンの変遷を見てくれるとウレシイナー
動画マイリスト: http://www.nicovideo.jp/mylist/45125374
「ゆっくりWindowWalker」沿革
2014/7/14 ver1.0 : Windows Form実装
2014/9/8 ver3.0 : 会話機能追加! WinForm + Lua
2014/11/3 ver4.0 : WinForm + IronPytyon
2014/12/25 ver4.5β : WPFへ移行 + IronPython
おしまい。
自己紹介 / 注意と免責
デスクトップマスコットって何?
WPFって何?
想定する事前知識と計算環境
キャラを表示する
会話っぽいものを作る
更に改造するためのヒント
知識準備
実際に
作る
まとめ
個別のテクは所詮小技。ただし知らないと作れないので大事にしよう。
愛情
コーディングスキル
デザインセンス
デスクトップマスコットの中身
質問等はメールにて。
njslyr.trpg@gmail.com
Thank yor for listening!
補足. 紹介したソフトのダウンロード先
「伺か」 独立伺か研究施設 ばぐとら研究所
http://ssp.shillest.net/
「しめじ」 しめじ ホームページ
http://www.group-finity.com/Shimeji/
「アプリコタン」 アプリコタン
http://blog.apricotan.net/
「ゆっくりWindowWalker」 ゆっくりWindowWalker配布所
https://sites.google.com/site/ywwdevelop/

More Related Content

What's hot

ソニーでElectronアプリをリリースしてみた
ソニーでElectronアプリをリリースしてみたソニーでElectronアプリをリリースしてみた
ソニーでElectronアプリをリリースしてみたYasuharu Seki
 
Wpfと非同期
Wpfと非同期Wpfと非同期
Wpfと非同期yone64
 
いまさら学ぶMVVMパターン
いまさら学ぶMVVMパターンいまさら学ぶMVVMパターン
いまさら学ぶMVVMパターンYuta Matsumura
 
がんばらなくても C# で Single Page Web アプリケーションが書けてしまう「Blazor」とは
がんばらなくても C# で Single Page Web アプリケーションが書けてしまう「Blazor」とはがんばらなくても C# で Single Page Web アプリケーションが書けてしまう「Blazor」とは
がんばらなくても C# で Single Page Web アプリケーションが書けてしまう「Blazor」とはJun-ichi Sakamoto
 
ドメイン駆動設計 ( DDD ) をやってみよう
ドメイン駆動設計 ( DDD ) をやってみようドメイン駆動設計 ( DDD ) をやってみよう
ドメイン駆動設計 ( DDD ) をやってみよう増田 亨
 
A5 SQL Mk-2の便利な機能をお教えします
A5 SQL Mk-2の便利な機能をお教えしますA5 SQL Mk-2の便利な機能をお教えします
A5 SQL Mk-2の便利な機能をお教えしますester41
 
【BS11】毎年訪れる .NET のメジャーバージョンアップに備えるために取り組めること
【BS11】毎年訪れる .NET のメジャーバージョンアップに備えるために取り組めること 【BS11】毎年訪れる .NET のメジャーバージョンアップに備えるために取り組めること
【BS11】毎年訪れる .NET のメジャーバージョンアップに備えるために取り組めること 日本マイクロソフト株式会社
 
C#メタプログラミング概略 in 2021
C#メタプログラミング概略 in 2021C#メタプログラミング概略 in 2021
C#メタプログラミング概略 in 2021Atsushi Nakamura
 
大規模ソーシャルゲームを支える技術~PHP+MySQLを使った高負荷対策~
大規模ソーシャルゲームを支える技術~PHP+MySQLを使った高負荷対策~大規模ソーシャルゲームを支える技術~PHP+MySQLを使った高負荷対策~
大規模ソーシャルゲームを支える技術~PHP+MySQLを使った高負荷対策~infinite_loop
 
PHP7の内部実装から学ぶ性能改善テクニック
PHP7の内部実装から学ぶ性能改善テクニックPHP7の内部実装から学ぶ性能改善テクニック
PHP7の内部実装から学ぶ性能改善テクニックYoshio Hanawa
 
ピクサー USD 入門 新たなコンテンツパイプラインを構築する
ピクサー USD 入門 新たなコンテンツパイプラインを構築するピクサー USD 入門 新たなコンテンツパイプラインを構築する
ピクサー USD 入門 新たなコンテンツパイプラインを構築するTakahito Tejima
 
メタプログラミングって何だろう
メタプログラミングって何だろうメタプログラミングって何だろう
メタプログラミングって何だろうKota Mizushima
 
失敗事例にみるDbの負荷試験の重要性
失敗事例にみるDbの負荷試験の重要性失敗事例にみるDbの負荷試験の重要性
失敗事例にみるDbの負荷試験の重要性Kazu Onishi
 
Msを16倍出し抜くwpf開発1回目
Msを16倍出し抜くwpf開発1回目Msを16倍出し抜くwpf開発1回目
Msを16倍出し抜くwpf開発1回目cct-inc
 
オープンソースのAPIゲートウェイ Kong ご紹介
オープンソースのAPIゲートウェイ Kong ご紹介 オープンソースのAPIゲートウェイ Kong ご紹介
オープンソースのAPIゲートウェイ Kong ご紹介 briscola-tokyo
 

What's hot (20)

ソニーでElectronアプリをリリースしてみた
ソニーでElectronアプリをリリースしてみたソニーでElectronアプリをリリースしてみた
ソニーでElectronアプリをリリースしてみた
 
【BS4】時は来たれり。今こそ .NET 6 へ移行する時。
【BS4】時は来たれり。今こそ .NET 6 へ移行する時。 【BS4】時は来たれり。今こそ .NET 6 へ移行する時。
【BS4】時は来たれり。今こそ .NET 6 へ移行する時。
 
XAMLで業務アプリがこんなに変わる!デザイン志向による業務アプリの事例紹介
XAMLで業務アプリがこんなに変わる!デザイン志向による業務アプリの事例紹介XAMLで業務アプリがこんなに変わる!デザイン志向による業務アプリの事例紹介
XAMLで業務アプリがこんなに変わる!デザイン志向による業務アプリの事例紹介
 
これからはじめる XAML - WPF プログラミング
これからはじめる XAML - WPF プログラミングこれからはじめる XAML - WPF プログラミング
これからはじめる XAML - WPF プログラミング
 
Wpfと非同期
Wpfと非同期Wpfと非同期
Wpfと非同期
 
いまさら学ぶMVVMパターン
いまさら学ぶMVVMパターンいまさら学ぶMVVMパターン
いまさら学ぶMVVMパターン
 
がんばらなくても C# で Single Page Web アプリケーションが書けてしまう「Blazor」とは
がんばらなくても C# で Single Page Web アプリケーションが書けてしまう「Blazor」とはがんばらなくても C# で Single Page Web アプリケーションが書けてしまう「Blazor」とは
がんばらなくても C# で Single Page Web アプリケーションが書けてしまう「Blazor」とは
 
ドメイン駆動設計 ( DDD ) をやってみよう
ドメイン駆動設計 ( DDD ) をやってみようドメイン駆動設計 ( DDD ) をやってみよう
ドメイン駆動設計 ( DDD ) をやってみよう
 
A5 SQL Mk-2の便利な機能をお教えします
A5 SQL Mk-2の便利な機能をお教えしますA5 SQL Mk-2の便利な機能をお教えします
A5 SQL Mk-2の便利な機能をお教えします
 
【BS11】毎年訪れる .NET のメジャーバージョンアップに備えるために取り組めること
【BS11】毎年訪れる .NET のメジャーバージョンアップに備えるために取り組めること 【BS11】毎年訪れる .NET のメジャーバージョンアップに備えるために取り組めること
【BS11】毎年訪れる .NET のメジャーバージョンアップに備えるために取り組めること
 
C#メタプログラミング概略 in 2021
C#メタプログラミング概略 in 2021C#メタプログラミング概略 in 2021
C#メタプログラミング概略 in 2021
 
大規模ソーシャルゲームを支える技術~PHP+MySQLを使った高負荷対策~
大規模ソーシャルゲームを支える技術~PHP+MySQLを使った高負荷対策~大規模ソーシャルゲームを支える技術~PHP+MySQLを使った高負荷対策~
大規模ソーシャルゲームを支える技術~PHP+MySQLを使った高負荷対策~
 
MVVM入門
MVVM入門MVVM入門
MVVM入門
 
Docker Compose 徹底解説
Docker Compose 徹底解説Docker Compose 徹底解説
Docker Compose 徹底解説
 
PHP7の内部実装から学ぶ性能改善テクニック
PHP7の内部実装から学ぶ性能改善テクニックPHP7の内部実装から学ぶ性能改善テクニック
PHP7の内部実装から学ぶ性能改善テクニック
 
ピクサー USD 入門 新たなコンテンツパイプラインを構築する
ピクサー USD 入門 新たなコンテンツパイプラインを構築するピクサー USD 入門 新たなコンテンツパイプラインを構築する
ピクサー USD 入門 新たなコンテンツパイプラインを構築する
 
メタプログラミングって何だろう
メタプログラミングって何だろうメタプログラミングって何だろう
メタプログラミングって何だろう
 
失敗事例にみるDbの負荷試験の重要性
失敗事例にみるDbの負荷試験の重要性失敗事例にみるDbの負荷試験の重要性
失敗事例にみるDbの負荷試験の重要性
 
Msを16倍出し抜くwpf開発1回目
Msを16倍出し抜くwpf開発1回目Msを16倍出し抜くwpf開発1回目
Msを16倍出し抜くwpf開発1回目
 
オープンソースのAPIゲートウェイ Kong ご紹介
オープンソースのAPIゲートウェイ Kong ご紹介 オープンソースのAPIゲートウェイ Kong ご紹介
オープンソースのAPIゲートウェイ Kong ご紹介
 

Similar to C#/WPFで作るデスクトップマスコット入門

「マルチデバイスの荒海にこぎ出す新人エンジニアのためのソフトウェア開発の心得」
 「マルチデバイスの荒海にこぎ出す新人エンジニアのためのソフトウェア開発の心得」  「マルチデバイスの荒海にこぎ出す新人エンジニアのためのソフトウェア開発の心得」
「マルチデバイスの荒海にこぎ出す新人エンジニアのためのソフトウェア開発の心得」 Embarcadero Technologies
 
縁取りでアプリの文字を見やすくしよう
縁取りでアプリの文字を見やすくしよう縁取りでアプリの文字を見やすくしよう
縁取りでアプリの文字を見やすくしよう株式会社グラフィシア
 
第16回勉強会のビギナー資料
第16回勉強会のビギナー資料第16回勉強会のビギナー資料
第16回勉強会のビギナー資料towaki777
 
MfcLightToolkit for small MFC apps
MfcLightToolkit for small MFC appsMfcLightToolkit for small MFC apps
MfcLightToolkit for small MFC appsTakaaki Suzuki
 
他言語との連携(ネイティブから動的言語まで)
他言語との連携(ネイティブから動的言語まで)他言語との連携(ネイティブから動的言語まで)
他言語との連携(ネイティブから動的言語まで)Tatsuya Ishikawa
 
LightSwitchで遊んでみた
LightSwitchで遊んでみたLightSwitchで遊んでみた
LightSwitchで遊んでみたYoshitaka Seo
 
Lync でできる? 仕事効率化
Lync でできる? 仕事効率化Lync でできる? 仕事効率化
Lync でできる? 仕事効率化Manato KAMEYA
 
Firefox OS を使って HTML5 でハードウェアを動かしてみよう
Firefox OS を使って HTML5 でハードウェアを動かしてみようFirefox OS を使って HTML5 でハードウェアを動かしてみよう
Firefox OS を使って HTML5 でハードウェアを動かしてみようHonma Masashi
 
無料環境でWindows Mobileアプリ開発
無料環境でWindows Mobileアプリ開発無料環境でWindows Mobileアプリ開発
無料環境でWindows Mobileアプリ開発7shi
 
Howtoよいデザイン
HowtoよいデザインHowtoよいデザイン
HowtoよいデザインHiroki Yagita
 
Swiftビギナーズ勉強会 第9回 BluePrint/BluePrintViewerで作るアプリモックアップ 
Swiftビギナーズ勉強会 第9回 BluePrint/BluePrintViewerで作るアプリモックアップ Swiftビギナーズ勉強会 第9回 BluePrint/BluePrintViewerで作るアプリモックアップ 
Swiftビギナーズ勉強会 第9回 BluePrint/BluePrintViewerで作るアプリモックアップ Kuniyoshi Takenaka
 
Windows 10 対応のデスクトップアプリを 作る技術(事前公開版)
Windows 10 対応のデスクトップアプリを 作る技術(事前公開版)Windows 10 対応のデスクトップアプリを 作る技術(事前公開版)
Windows 10 対応のデスクトップアプリを 作る技術(事前公開版)一希 大田
 
コントロールベンダー視点での Command line interface (CLI)
コントロールベンダー視点での Command line interface (CLI)コントロールベンダー視点での Command line interface (CLI)
コントロールベンダー視点での Command line interface (CLI)Daizen Ikehara
 
初音玲の流儀 - なんでプログラミングしているの?
初音玲の流儀 - なんでプログラミングしているの?初音玲の流儀 - なんでプログラミングしているの?
初音玲の流儀 - なんでプログラミングしているの?Akira Hatsune
 
自己紹介とC# Devkitについて.pptx
自己紹介とC# Devkitについて.pptx自己紹介とC# Devkitについて.pptx
自己紹介とC# Devkitについて.pptxhkharu0803
 
20101127 Android Usability Seminar
20101127 Android Usability Seminar20101127 Android Usability Seminar
20101127 Android Usability SeminarVisso株式会社
 
達人出版会のご紹介(技術編)
達人出版会のご紹介(技術編)達人出版会のご紹介(技術編)
達人出版会のご紹介(技術編)masayoshi takahashi
 

Similar to C#/WPFで作るデスクトップマスコット入門 (20)

「マルチデバイスの荒海にこぎ出す新人エンジニアのためのソフトウェア開発の心得」
 「マルチデバイスの荒海にこぎ出す新人エンジニアのためのソフトウェア開発の心得」  「マルチデバイスの荒海にこぎ出す新人エンジニアのためのソフトウェア開発の心得」
「マルチデバイスの荒海にこぎ出す新人エンジニアのためのソフトウェア開発の心得」
 
縁取りでアプリの文字を見やすくしよう
縁取りでアプリの文字を見やすくしよう縁取りでアプリの文字を見やすくしよう
縁取りでアプリの文字を見やすくしよう
 
[2013_04]新入生用スライド
[2013_04]新入生用スライド[2013_04]新入生用スライド
[2013_04]新入生用スライド
 
第16回勉強会のビギナー資料
第16回勉強会のビギナー資料第16回勉強会のビギナー資料
第16回勉強会のビギナー資料
 
MfcLightToolkit for small MFC apps
MfcLightToolkit for small MFC appsMfcLightToolkit for small MFC apps
MfcLightToolkit for small MFC apps
 
他言語との連携(ネイティブから動的言語まで)
他言語との連携(ネイティブから動的言語まで)他言語との連携(ネイティブから動的言語まで)
他言語との連携(ネイティブから動的言語まで)
 
LightSwitchで遊んでみた
LightSwitchで遊んでみたLightSwitchで遊んでみた
LightSwitchで遊んでみた
 
Lync でできる? 仕事効率化
Lync でできる? 仕事効率化Lync でできる? 仕事効率化
Lync でできる? 仕事効率化
 
Firefox OS を使って HTML5 でハードウェアを動かしてみよう
Firefox OS を使って HTML5 でハードウェアを動かしてみようFirefox OS を使って HTML5 でハードウェアを動かしてみよう
Firefox OS を使って HTML5 でハードウェアを動かしてみよう
 
無料環境でWindows Mobileアプリ開発
無料環境でWindows Mobileアプリ開発無料環境でWindows Mobileアプリ開発
無料環境でWindows Mobileアプリ開発
 
Howtoよいデザイン
HowtoよいデザインHowtoよいデザイン
Howtoよいデザイン
 
Swiftビギナーズ勉強会 第9回 BluePrint/BluePrintViewerで作るアプリモックアップ 
Swiftビギナーズ勉強会 第9回 BluePrint/BluePrintViewerで作るアプリモックアップ Swiftビギナーズ勉強会 第9回 BluePrint/BluePrintViewerで作るアプリモックアップ 
Swiftビギナーズ勉強会 第9回 BluePrint/BluePrintViewerで作るアプリモックアップ 
 
Windows 10 対応のデスクトップアプリを 作る技術(事前公開版)
Windows 10 対応のデスクトップアプリを 作る技術(事前公開版)Windows 10 対応のデスクトップアプリを 作る技術(事前公開版)
Windows 10 対応のデスクトップアプリを 作る技術(事前公開版)
 
コントロールベンダー視点での Command line interface (CLI)
コントロールベンダー視点での Command line interface (CLI)コントロールベンダー視点での Command line interface (CLI)
コントロールベンダー視点での Command line interface (CLI)
 
初音玲の流儀 - なんでプログラミングしているの?
初音玲の流儀 - なんでプログラミングしているの?初音玲の流儀 - なんでプログラミングしているの?
初音玲の流儀 - なんでプログラミングしているの?
 
自己紹介とC# Devkitについて.pptx
自己紹介とC# Devkitについて.pptx自己紹介とC# Devkitについて.pptx
自己紹介とC# Devkitについて.pptx
 
20101127 Android Usability Seminar
20101127 Android Usability Seminar20101127 Android Usability Seminar
20101127 Android Usability Seminar
 
Lt 20130302 1
Lt 20130302 1Lt 20130302 1
Lt 20130302 1
 
達人出版会のご紹介(技術編)
達人出版会のご紹介(技術編)達人出版会のご紹介(技術編)
達人出版会のご紹介(技術編)
 
Lt 110416
Lt 110416Lt 110416
Lt 110416
 

C#/WPFで作るデスクトップマスコット入門