TGA画像ファイルを扱う

■画像ファイルの種類 画像形式のバイナリファイルは様々なフォーマットがあるが、主に使われているのが以下のものがある。 ・BMP ・PNG ・JPG ・TGA 簡単に各フォーマットの特性を挙げてみた。・BMP →構造が単純で扱いやすい →ファイルサイズが大きい →半透…

ビルドイン変数

■ビルドイン変数とは・いくつかのシェーダーステージのためにOpenGL Shading Languageにより定義された特殊な変数・特別な性質を持っている(予め用途が決められている)・通常、いくつかの固定機能と通信するために使われる・ルール上、全てのビルドイン変数…

VBOとは?

目次 VBOとは VBOがどのようなデータを格納するのか? VBOの作り方(従来バージョンと最新バージョン) VBOの値を変更してみよう 一、VBOとは →VBO=Vertex Buffer Object →バッファオブジェクトであり、GPU上に作られる。 →格納するデータは頂点データ(座標、…

超実用cocos2d!見えないノードの居場所を突き止めよう!

見えないノードを配置することって結構あるんだよね。。 実際に配置してみて、あれ?見えないから確認できない!ってなったことは何回もあった。 そこで対応する方法は見えないノードを見えるようにするだけ! 試しに node->setColor(Color3B(255,0,0)); と…

超実用cocos2d!数秒後に特定な処理を呼び出したい!

自分が良く使って、他人のコードにてもよく見かけられるcocosの超実用な機能なので、忘れないようにメモメモ。 runAction(Sequence::create(DelayTime::create(3), CallFunc::create([this](){ //呼び出したい処理... }), NULL)); シーケンスで遅延処理とコ…

「参照が曖昧です」とコンパイラーに怒られる原因と対応

目次 経緯 原因と対応 一、経緯 ビルド時に「Rect」と「Point」の参照が曖昧ですとコンパイラーに怒られた。 調査するとなぜかヘッダーファイルにUSING_NS_CCが書かれている。ヘッダーファイルのUSING_NS_CCを全部削除して、cocosの型を参照している箇所にco…

Undefined symbols for architecture x86の原因

目次 経緯 原因 一、経緯 Windowsで開発したプロジェクトをXcodeでビルドする時に発生(Windowsでは問題なかった)。 ログを確認すると未定義とされている箇所はごく最近に追加した部分である(追加する前には問題なくコンパイルを通っていた)。 その部分につい…

VideoPlayerに出会った問題たち

インデックス ムービーの上にウィジェットを置けない問題 ムービー機能のマルチ対応 Windowsに対応していない問題 ムービーの配置問題 一、ムービーの上にウィジェットを置けない問題 1.ムービーのビューはcocosのビューではなく、System widgetに配置され…

【最新OS対応】音声割込みを検知しよう

目次 経緯 主な対応項目 対応方法 例外 一、経緯 仕事でとあるアプリの最新OS対応を行った時に発生したことです。 昔のアプリでサスペンドせずに音声が割り込まれる場合の対応がされていないので、例えばプッシュ通知にてアラームをスワイプで消した場合、音…

【最新OS対応】iOS14でSetStatusBarOrientationが動作しなくなった!どうしよー

ことの経緯 原因 目標 解決 ■ことの経緯 仕事でおよそ十年前にリリースされたアプリの最新OS対応を任された(iOS14.5対応)。最新のアップデートはiOS8-iOS11なので、かなり経っている。。。 Xcode12でビルドしたら、なぜか端末の向きが固定されることになった…

glfwのエラーコールバック

glfwのエラーコールバックとは? OpenGLで初期化に使うGLFWとGLEWに関して、GLFWの方はエラーが発生した場合に指定した関数を呼び出すエラーコールバック関数を用意してくれている。その関数を使えば、GLFWから渡されたエラーメッセージを標準エラー出力に表…

_CRT_SECURE_NO_WARNINGS

C++

C言語が標準に提供しているいくつかの関数に対して、MicroSoftが危険だと考え、使用を制限している。それらの関数を使用するときに出てくるエラーをなくすには、ファイルの先頭に「_CRT_SECURE_NO_WARNINGS」をインクルードする。 MicroSoftが代わりに_sのよ…

c++ 純粋仮想関数

C++

[目次] 純粋仮想関数とは 使い方 純粋仮想関数のできること /************************************************************** virtual bool Initialize() = 0 { } virtual void ProcessInput() = 0 { } virtual void Update(float) = 0 { } virtual void R…