ゲームプログラミング
# include <Siv3D.hpp> void Main() { Window::Resize({ 300, 300 }); const Vec2 center = Scene::CenterF(); while (System::Update()) { constexpr Duration periodSec = 2s; const double rotateRate = s3d::Periodic::Sawtooth0_1(periodSec * 0.75); const double</siv3d.hpp>…
↑こういうのをやってみてた 方針的には以下のようなことをしていた ちなみに小難しいことはしておらずシンプルな実装でやってみてた。①反転した状態のテクスチャをあらかじめ作っておく②投影するマスクテクスチャのようなものを用意する③シェーダーでがっち…
VirtualWindow Windowsのエクスプローラーを参考に作った だいたいそれっぽい動きをしている ツールのレイアウトとかをサクッと作れるといいなぁと思っていて 第一歩という感じ ソースコード 結構ごり押し。一つ一つの挙動を書いていくしかない ちゃんとファ…
随時更新するかも スクリーン float screen(float dest, float src) { return 1 - (1 - dest) * (1 - src); } float4 screen(float4 dest, float4 src) { float4 color; color.r = screen(dest.r, src.r); color.g = screen(dest.g, src.g); color.b = scree…
コードベースのマイグレーションみたいなものを作りました。 wandbox.org 例 以下に 1_Test.cpp 2_Hoge.cpp がありますが、これのprefixの数字をidとして、カレントバージョンから最新バージョンまで全部実行する仕組みです 1_Test.cpp #include"Migration.h…
C++でDIするヘッダーオンリーのライブラリを作りました。 github.com Zenject(Extenject)などから影響を受けてます。
template<class T> struct as_op {}; template<class T> constexpr as_op<T> as_obj{}; template<class T, class U> auto operator | (T* ptr, const as_op<U>& op) { return dynamic_cast<U*>(ptr); } #define as | as_obj struct Super{virtual ~Super()=default;}; struct A : Super{ }; int main() { Su</u*></u></class></t></class></class>…
アクションゲーム作るマンだから、空間分割をやってみました。 参考サイトは大正義 http://marupeke296.com/COL_2D_No8_QuadTree.html です。 上のスクショだとA30とB30の判定で試した奴なので、速度差がわかりにくいですが、10000*10000で試したりすると多…
音楽ゲームを作る時などに役立つ、曲と同期するための記事を書きました qiita.com
ゲームを作っているとシーンclassみたいなものをだいたい使うわけですが ついメインシーンclassとかにゲームのメイン部分を書いていっちゃうんですよね でも、例えばチュートリアルシーンみたいなのを作りたくなったときとかにメインシーンとは別でメイン動…
Siv3D Advent Calender 2016の記事 以前Siv3Dでゲームを作っていた時に苦労したことの改善策の一つ qiita.com