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
Sora Arakawa
November 04, 2021
Technology
0
400
C++とDXライブラリでLTタイマーを作った話
サポーターズ学生ライトニングトーク ~2021秋の終り編~
Sora Arakawa
November 04, 2021
Tweet
Share
More Decks by Sora Arakawa
See All by Sora Arakawa
非root化Androidスマホでも動く仮想マシンアプリを試してみた
arkw
0
320
技術島の指定ツール「LaTeX」で同人誌を作ろう
arkw
2
190
ポスト・パソコン時代のジャンク遊び スマートデバイス編
arkw
0
130
ジャンカーよ、車も買え ~10分でわかる!? 中古車選び入門~
arkw
1
130
arkw vs. サーバ移転 -2024年1月版-
arkw
0
290
なれる! 村上さん Misskeyサーバ構築入門
arkw
0
550
Cloudflare Tunnelで自宅サーバを公開してみた
arkw
0
1.5k
5分でわかる!? 7セグメントLED制御
arkw
0
73
ヤフオクで原付買った話
arkw
0
230
Other Decks in Technology
See All in Technology
ユーザー理解の爆速化とPdMの価値
kakehashi
PRO
1
110
From Live Coding to Vibe Coding with Firebase Studio
firebasethailand
1
330
2025新卒研修・HTML/CSS #弁護士ドットコム
bengo4com
2
3.6k
手動からの解放!!Strands Agents で実現する総合テスト自動化
ideaws
3
420
興味の胞子を育て 業務と技術に広がる”きのこ力”
fumiyasac0921
0
440
人に寄り添うAIエージェントとアーキテクチャ #BetAIDay
layerx
PRO
1
180
VLMサービスを用いた請求書データ化検証 / SaaSxML_Session_1
sansan_randd
0
150
P2P ではじめる WebRTC のつまづきどころ
tnoho
1
280
「育てる」サーバーレス 〜チーム開発研修で学んだ、小さく始めて大きく拡張するAWS設計〜
yu_kod
1
210
Bet "Bet AI" - Accelerating Our AI Journey #BetAIDay
layerx
PRO
1
190
OpenTelemetry の Log を使いこなそう
biwashi
5
1.1k
Claude Codeが働くAI中心の業務システム構築の挑戦―AIエージェント中心の働き方を目指して
os1ma
8
1.1k
Featured
See All Featured
Designing for Performance
lara
610
69k
Chrome DevTools: State of the Union 2024 - Debugging React & Beyond
addyosmani
7
770
It's Worth the Effort
3n
185
28k
How to Create Impact in a Changing Tech Landscape [PerfNow 2023]
tammyeverts
53
2.9k
I Don’t Have Time: Getting Over the Fear to Launch Your Podcast
jcasabona
33
2.4k
Designing for humans not robots
tammielis
253
25k
For a Future-Friendly Web
brad_frost
179
9.8k
YesSQL, Process and Tooling at Scale
rocio
173
14k
The Pragmatic Product Professional
lauravandoore
35
6.8k
StorybookのUI Testing Handbookを読んだ
zakiyama
30
5.9k
The Straight Up "How To Draw Better" Workshop
denniskardys
235
140k
Improving Core Web Vitals using Speculation Rules API
sergeychernyshev
18
1k
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
ご清聴ありがとうございました