Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
C++とDXライブラリでLTタイマーを作った話
Search
Sponsored
·
Ship Features Fearlessly
Turn features on and off without deploys. Used by thousands of Ruby developers.
→
Sora Arakawa
November 04, 2021
Technology
470
0
Share
C++とDXライブラリでLTタイマーを作った話
サポーターズ学生ライトニングトーク ~2021秋の終り編~
Sora Arakawa
November 04, 2021
More Decks by Sora Arakawa
See All by Sora Arakawa
OSもどきOS
arkw
0
250
オープンソース電車運転ゲーム「もっと! 地下鉄 大名古屋」の紹介
arkw
0
17
今からFlash開発できるわけないじゃん、ムリムリ! (※ムリじゃなかった!?)
arkw
0
230
令和最新版Android Studioで化石デバイス向けアプリを作る
arkw
0
680
お前も同人作家にならないか? 技術系同人誌制作入門
arkw
3
86
非root化Androidスマホでも動く仮想マシンアプリを試してみた
arkw
0
1.3k
技術島の指定ツール「LaTeX」で同人誌を作ろう
arkw
2
430
ポスト・パソコン時代のジャンク遊び スマートデバイス編
arkw
0
210
ジャンカーよ、車も買え ~10分でわかる!? 中古車選び入門~
arkw
2
220
Other Decks in Technology
See All in Technology
AI駆動開発でなんでもハンズオン環境をつくってみた
yoshimi0227
0
160
Claude Codeですべての日常業務を爆速化しよう!
minorun365
PRO
16
15k
はじめてのAI-DLC
yoshidashingo
2
610
oracle-to-databricks-migration-with-llm-and-dbt
casek
0
340
Claude Code x Accounting
kawaguti
PRO
1
340
脅威をエンジニアリングの糧にして:恐怖を乗り越えた先にあったもの / Turn threats into fuel for engineering: what lay beyond overcoming fear
nrslib
1
340
エンジニアは生成AIと どのように向き合うべきか? ことばの意味という観点から
verypluming
3
280
権限管理設計を完全に理解した
rsugi
2
230
個人AIからチームAIへ:開発における品質と生産性の再設計
moongift
PRO
0
270
Generative UI × A2UI で AI エージェントを作った話 AI-DLC も使ってみた!
kmiya84377
1
260
Cloud Run のアップデート 触ってみる&紹介
gre212
0
200
ポスター発表&デモと総括 / Poster Presentations & Demonstrations and Summary
ks91
PRO
0
150
Featured
See All Featured
Technical Leadership for Architectural Decision Making
baasie
3
380
Claude Code どこまでも/ Claude Code Everywhere
nwiizo
65
55k
The agentic SEO stack - context over prompts
schlessera
0
790
Unlocking the hidden potential of vector embeddings in international SEO
frankvandijk
0
820
Imperfection Machines: The Place of Print at Facebook
scottboms
270
14k
Embracing the Ebb and Flow
colly
88
5.1k
Balancing Empowerment & Direction
lara
6
1.1k
VelocityConf: Rendering Performance Case Studies
addyosmani
333
25k
Scaling GitHub
holman
464
140k
SEO in 2025: How to Prepare for the Future of Search
ipullrank
3
3.5k
Heart Work Chapter 1 - Part 1
lfama
PRO
7
36k
Efficient Content Optimization with Google Search Console & Apps Script
katarinadahlin
PRO
1
570
Transcript
C++とDXライブラリで LTタイマーを作った話 Sora Arakawa (arkw) 2021/11/04 静大情報LT大会@オンライン 「#技育CAMP」でツイートすると 画面上部に表示されます!
自己紹介 Sora Arakawa(arkw) • 静岡大学 情報学部 行動情報学科 B2 • 趣味:プログラミング、デザイン、etc…
• Alexaスキル開発のバイトをしています (時給915円) • 愛知県岡崎市出身→静岡県浜松市在住 • https://arkw.net/
突然ですが…
LTタイマーを作りました
LTタイマー • 常に最前面表示 • 時間を1分単位でセット(0分~99分) • スタート/ストップボタンを長押しでリセット
C(C++)を学習したい!
私の言語学習法 • 入門書は買わない • 入門サイトは1から全部やらない • 適当にGUIのソフトを1本作る • 仕様やAPIはググる
C++のGUIライブラリ #とは
DXライブラリ
DXライブラリ(DxLib) • 2001年に山田巧氏が開発したゲームエンジン • DirectXが簡単に扱えるようになっている • 文献が豊富 • オープンソース 表記不要で使用可(例外有り)
• 対応OSが多い(Windows、iOS、Android、PlayStation Vita、 PlayStation 4、Nintendo Switch etc…)
DXライブラリの機能 • 2Dグラフィック • 3Dグラフィック • サウンド • ムービー •
各種入力 • TCP/IP通信 etc…
開発環境 • Windows 10 64Bit • Visual Studio Community 2019
• GitHub Desktop • DXライブラリ Ver.3.22e
DXライブラリのダウンロード • https://dxlib.xsrv.jp/dxdload.html からDXライブラリをダ ウンロードする • 必要な機能と開発環境に応じたファイルをダウンロード • 今回は「3Dモデル機能&ソフトウエアレンダリング機能無し パッケージ」を選択
DXライブラリのインポート • プロジェクト毎に必要な作業 • https://dxlib.xsrv.jp/dxuse.html を参照 $(ProjectDir)DxLib
データ量を減らす • 「~_vs2015_x86_MT.lib」と「~_vs2015_x86_MTd.lib」以外 のlibファイルを全て消す • これだけで90%減量できます(536MB→55.6MB)
リソースの作成 • 対応画像形式:BMP、JPEG、PNG、TGA、DDS、ARGB、TIFF • 対応音声形式:WAV、MP3(Windowsのみ)、OGG、Opus
コーディング • 省略 • 関数リファレンスと各関数のサンプルコードは https://dxlib.xsrv.jp/dxfunc.html
LTタイマーの開発に必要な処理 ウインドウ表示(デフォルトはフルスクリーン) ChangeWindowMode(TRUE); バックグラウンド動作を許可 SetAlwaysRunFlag(TRUE); 最前面表示 SetWindowPos(GetMainWindowHandle(), HWND_TOPMOST, 0, 0,
0, 0, SWP_NOSIZE | SWP_NOMOVE);
フレームレートの話 • フレームレートは画面の周波数に依存 • 固定FPSにするコードはネットに転がっている • LTタイマーは30FPS固定
まとめ • DXライブラリとC/C++でツールを開発 • 必要なことは全て公式サイトに載っている • 詰まったらググれ • GitHubでソース管理するならデータ量の削減が必須
まとめ • GitHubリポジトリ https://github.com/arkwnet/LTTimer
ご清聴ありがとうございました