問題タブ [allegro5]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
windows-8 - Visual Studio 2012 Allegro5x64リンカー
MSVC2012でAllegro5ソリューションを構築できないのと同じ問題がありますが、プロジェクトはx64であり、Win8x64Professionalを使用しています。そして、私がWin32に目を向けると、すべてが大丈夫です。しかし、x64に目を向けると、次のようになります。
何か案は?私のプロジェクトはx64である必要があります...
c++ - Allegro5の描画をバッファリングする
画面上で跳ねるボールを描くプログラムを作っています。私は現在、ボールを引く部分に取り組んでいます。
私のコードは次のもので構成されています。
- BallEngineクラス-すべてのAllegro関数/オブジェクトを管理します
- BallManagerクラス-すべてのボールを管理します
- ボールクラス-ボールに関する情報を保持します
- main.cpp-ゲームループなど。
BallEngine.h:
BallEngine.cpp:
BallManager.h:
BallManager.cpp:
Ball.h:
Ball.cpp:
main.cpp:
ボールを描くのに問題があります。allegro 4では、描画先のバッファーを渡してから、画面にバッファーを描画します。上記のコードでは、Ballクラスのdraw()関数でエラーが発生しています。
エラーは次のとおりです。デバッグエラー!R6010 -abort()が呼び出されました
コマンドプロンプトにもいくつかの情報が表示されます:アサーションに失敗しました:addon_initialized、ファイルallegro-git \ addons \primitives \primitives.c、79行目
BallEngineクラスで表示が作成されたため、描画関数に描画する場所がないためにエラーが発生していると思いますが、どうすれば修正できますか?
c++ - Allegro でフォントを読み込めません
C++ と Visual Studio 2012 で Allegro 5 をいじっていますが、何らかの理由で、Allegro wiki のサンプル コードを使用してフォントを読み込むことができません。
Visual Studio プロジェクトの実行可能なほぼすべてのディレクトリと、.exe があるディレクトリにフォント ファイルを配置しようとしました (他のいくつかのスレッドで示唆されているように)。また、そのコピーを C: ドライブにドロップして、完全修飾パスで呼び出してみました。試してみましたがC:\\pirulen.ttf
、C:/pirulen.ttf
どちらも機能しませんでした。プロジェクトの「Resource Files」フォルダーにも追加しようとしましたが、それも機能しませんでした。
何が起こっているのかについて何かアドバイスはありますか?
ありがとう。
c - Allegro5 with C - プログラム作成
Allegro5 を使ってプログラムを作っていますが、ライブラリにはまだ慣れていません。このライブラリで何ができるのか知りたいだけです。
「画像の色補正」(コントラスト、明るさなど)を行う必要があり、次のことを考えました:
- ボタンの作成 (通常の Windows プログラムと同様)、
-スクロールバー、
-ファイルローダー - ボタンをクリックすると、ハードドライブのディレクトリをジャンプして、プログラムで編集したい画像ファイルを選択できます
-allegro ウィンドウでウィンドウを開く (プレビューなどのために)
等
私はできる限り多くのOOPを使いたいと思っています(私は知っています、それはCです)。そのすべてを C と Allegro5 で行うことは可能ですか、それとも Windows ライブラリやその他のものも必要ですか?
返信ありがとうございます。:)
c++ - win8でVisual Studio 2012を使用してallegro5をセットアップする
リファレンス マニュアルの手順に従いましたが、プロジェクトを実行すると、ファイルが見つからないというエラーが表示されます。
これが私がしたことです。
- MSVC 11 のビンをダウンロードしました。
- それを C:\allegro に解凍しました (bin include および lib ディレクトリが内部にあります)
- プロパティの下の新しいプロジェクトで、私は彼らの指示に従い、5.0.xを5.0.8に置き換えました
それらの方向は次のとおりです。
[構成プロパティ] -> [C/C++] -> [全般] で、追加のインクルード ディレクトリに c:\allegro\include と入力します。
[構成プロパティ] -> [リンカー] -> [全般] で、追加のライブラリ ディレクトリに c:\allegro\lib と入力します。
Configuration Properties->Linker->Input の下で、allegro-5.0.x-monolith-md-debug.lib を追加の依存関係に追加します。
[構成プロパティ] -> [デバッグ] の下で、[環境] に PATH=c:\allegro\bin;%PATH% と入力します。
おそらく、間違ったファイルを追加したか、正しく追加しなかったのでしょうか?
プロパティ -> リンカ -> 追加の依存関係 を入力.lib;odbccp32.lib;%(AdditionalDependencies);allegro-5.0.8-monolith-md-debug.lib
彼らが持っているコードサンプルは次のとおりです。
そしてそれが生成するエラー:
エラー 1 エラー C1083: インクルード ファイルを開けません: 'stdio.h': そのようなファイルまたはディレクトリはありません c:\users\robert\documents\visual studio 2012\projects\allegro-01\allegro-01\main.cpp 1 1 allegro -01 2 IntelliSense: ソース ファイル "io.h" c:\allegro\include\allegro5\platform\almsvc.h を開けません 19 1 allegro-01 3 IntelliSense: ソース ファイル "fcntl.h" c:\allegro\ を開けませんinclude\allegro5\platform\almsvc.h 20 1 allegro-01 4 IntelliSense: ソース ファイル "direct.h" を開けません c:\allegro\include\allegro5\platform\almsvc.h 21 1 allegro-01 5 IntelliSense: 開けませんソース ファイル "malloc.h" c:\allegro\include\allegro5\platform\almsvc.h 22 1 allegro-01 6 IntelliSense: ソース ファイル "stdint.h" を開けません c:\allegro\include\allegro5\platform\astdint.h 30 4 allegro-01 7 IntelliSense: ソース ファイル "errno.h" を開けません c:\allegro\include\allegro5\base.h 23 4 allegro-01 8 IntelliSense: 開けませんソース ファイル「limits.h」を開く c:\allegro\include\allegro5\base.h 29 7 allegro-01 9 IntelliSense: ソース ファイル「stdarg.h」を開けません c:\allegro\include\allegro5\base.h 34 4 allegro-01 10 IntelliSense: ソース ファイル "stddef.h" c:\allegro\include\allegro5\base.h を開けません 35 4 allegro-01 11 IntelliSense: ソース ファイル "stdlib.h" c:\allegro\ を開けませんinclude\allegro5\base.h 36 4 allegro-01 12 IntelliSense: ソース ファイル「time.h」を開けません c:\allegro\include\allegro5\base.h 37 4 allegro-01 13 IntelliSense:ソース ファイル "string.h" c:\allegro\include\allegro5\base.h を開けません 38 4 allegro-01 14 IntelliSense: ソース ファイル "sys/types.h" c:\allegro\include\allegro5\base を開けません.h 39 4 allegro-01 15 IntelliSense: 識別子 "uint32_t" は未定義です c:\allegro\include\allegro5\base.h 77 1 allegro-01 16 IntelliSense: 識別子 "int32_t" は未定義です c:\allegro\include\allegro5 \utf8.h 57 1 allegro-01 17 IntelliSense: 識別子 "int32_t" は未定義です c:\allegro\include\allegro5\utf8.h 58 1 allegro-01 18 IntelliSense: 識別子 "int32_t" は未定義です c:\allegro\include \allegro5\utf8.h 59 1 allegro-01 19 IntelliSense: 識別子 "int32_t" は定義されていません c:\allegro\include\allegro5\utf8.h 66 1 allegro-01 20 IntelliSense: 識別子 "int32_t" は未定義です c:\allegro\include\allegro5\utf8.h 71 1 allegro-01 21 IntelliSense: 識別子 "va_list" は未定義です c:\allegro\include\allegro5\ utf8.h 74 1 allegro-01 22 IntelliSense: 識別子 "int32_t" は未定義です c:\allegro\include\allegro5\utf8.h 93 1 allegro-01 23 IntelliSense: 識別子 "int32_t" は未定義です c:\allegro\include\ allegro5\utf8.h 98 1 allegro-01 24 IntelliSense: 識別子 "int32_t" は未定義です c:\allegro\include\allegro5\utf8.h 100 1 allegro-01 25 IntelliSense: 識別子 "int32_t" は未定義です c:\allegro\ include\allegro5\utf8.h 134 1 allegro-01 26 IntelliSense: 識別子 "int32_t" は定義されていません c:\allegro\include\allegro5\utf8.h 135 1 allegro-01 27 IntelliSense: 変数 "al_ustr_new_from_utf16" は初期化されていない可能性があります c:\allegro\include\allegro5\utf8.h 138 1 allegro-01 28 IntelliSense: 識別子 "uint16_t"未定義 c:\allegro\include\allegro5\utf8.h 140 1 allegro-01 29 IntelliSense: 識別子 "uint16_t" は未定義 c:\allegro\include\allegro5\utf8.h 142 1 allegro-01 30 IntelliSense: 識別子 " int64_t" は未定義です c:\allegro\include\allegro5\file.h 55 1 allegro-01 31 IntelliSense: 識別子 "int64_t" は未定義です c:\allegro\include\allegro5\file.h 56 1 allegro-01 32 IntelliSense:識別子 "int64_t" は定義されていません c:\allegro\include\allegro5\file.h 61 1 allegro-01 33 IntelliSense: 識別子 "int16_t" は未定義です c:\allegro\include\allegro5\file.h 66 1 allegro-01 34 IntelliSense: 識別子 "int16_t" は未定義です c:\allegro\include\allegro5\file.h 67 1 allegro-01 35 IntelliSense:識別子 "int16_t" は未定義です c:\allegro\include\allegro5\file.h 68 1 allegro-01 36 IntelliSense: 識別子 "int16_t" は未定義です c:\allegro\include\allegro5\file.h 69 1 allegro-01 37 IntelliSense: 識別子 "int32_t" は未定義です c:\allegro\include\allegro5\file.h 70 1 allegro-01 38 IntelliSense: 識別子 "int32_t" は未定義です c:\allegro\include\allegro5\file.h 71 1 allegro- 01 39 IntelliSense: 識別子 "int32_t" は定義されていません c:\allegro\include\allegro5\file.h 72 1 allegro-01 40 IntelliSense:識別子 "int32_t" は未定義です c:\allegro\include\allegro5\file.h 73 1 allegro-01 41 IntelliSense: ソース ファイル "assert.h" を開けません c:\allegro\include\allegro5\debug.h 22 1 allegro -01 42 IntelliSense: 識別子 "intptr_t" は未定義です c:\allegro\include\allegro5\events.h 206 1 allegro-01 43 IntelliSense: 識別子 "intptr_t" は未定義です c:\allegro\include\allegro5\events.h 207 1 allegro-01 44 IntelliSense: 識別子 "int64_t" は未定義です c:\allegro\include\allegro5\timer.h 55 1 allegro-01 45 IntelliSense: 識別子 "int64_t" は未定義です c:\allegro\include\allegro5\timer. h 56 1 allegro-01 46 IntelliSense: 識別子 "int64_t" は定義されていません c:\allegro\include\allegro5\timer.h 57 1 allegro-01 47 IntelliSense: ソース ファイル "sys/types.h" を開けません c:\allegro\include\allegro5\fshook.h 23 4 allegro-01 48 IntelliSense: 識別子 "uint32_t" は定義されていません c:\allegro \include\allegro5\fshook.h 96 1 allegro-01 49 IntelliSense: 識別子 "time_t" は未定義です c:\allegro\include\allegro5\fshook.h 97 1 allegro-01 50 IntelliSense: 識別子 "time_t" は未定義です c: \allegro\include\allegro5\fshook.h 98 1 allegro-01 51 IntelliSense: 識別子 "time_t" は未定義です c:\allegro\include\allegro5\fshook.h 99 1 allegro-01 52 IntelliSense: 識別子 "off_t" は未定義ですc:\allegro\include\allegro5\fshook.h 100 1 allegro-01 53 IntelliSense: 識別子 "int32_t" は定義されていません c:\allegro\include\allegro5\fixed.h 30 9 allegro-01 54 IntelliSense: ソース ファイル "string.h" を開けません c:\Program Files (x86)\Windows Kits\8.0\Include\shared\guiddef.h 146 1 allegro-01 55 IntelliSense: ソース ファイル "ctype.h" を開けません c:\Program Files (x86)\Windows Kits\8.0\Include\um\winnt.h 31 1 allegro-01 56 IntelliSense: ソース ファイル "excpt を開けません" .h" c:\Program Files (x86)\Windows Kits\8.0\Include\um\winnt.h 1240 1 allegro-01 57 IntelliSense: 識別子 "EXCEPTION_DISPOSITION" は定義されていません c:\Program Files (x86)\Windows Kits\ 8.0\Include\um\winnt.h 1245 1 allegro-01 58 IntelliSense: ソース ファイル "string.h" を開けません c:\Program Files (x86)\Windows Kits\8.0\Include\um\winnt.h 16534 1 allegro -01 59 インテリセンス:識別子 "va_list" は未定義です c:\Program Files (x86)\Windows Kits\8.0\Include\um\WinBase.h 3699 14 allegro-01 60 IntelliSense: 識別子 "va_list" は未定義です c:\Program Files (x86)\ Windows Kits\8.0\Include\um\WinBase.h 3712 14 allegro-01 61 IntelliSense: ソース ファイル "stdarg.h" を開けません c:\Program Files (x86)\Windows Kits\8.0\Include\um\WinUser.h 51 1 allegro-01 62 IntelliSense: 識別子 "va_list" は未定義です c:\Program Files (x86)\Windows Kits\8.0\Include\um\WinUser.h 278 10 allegro-01 63 IntelliSense: 識別子 "va_list" は未定義です c :\Program Files (x86)\Windows Kits\8.0\Include\um\WinUser.h 285 10 allegro-01 64 IntelliSense: ソース ファイル "excpt.h" を開けません c:\Program Files (x86)\Windows Kits\8.0 \Include\shared\rpc.h 163 1 allegro-01 65 IntelliSense: ソース ファイル "stdlib.h" を開けません c:\Program Files (x86)\Windows Kits\8.0\Include\um\combaseapi.h 329 1 allegro-01 66 IntelliSense: ソースを開けませんファイル "excpt.h" c:\Program Files (x86)\Windows Kits\8.0\Include\um\Windows.h 160 1 allegro-01 67 IntelliSense: ソース ファイル "stdarg.h" c:\Program Files ( x86)\Windows Kits\8.0\Include\um\Windows.h 161 1 allegro-01 68 IntelliSense: ソース ファイル "stdio.h" c:\Users\Robert\Documents\Visual Studio 2012\Projects\allegro-01 を開けません\allegro-01\main.cpp 1 1 allegro-01 69 IntelliSense: 識別子 "atexit" は定義されていません c:\Users\Robert\Documents\Visual Studio 2012\Projects\allegro-01\allegro-01\main.cpp 8 8 allegro-01 70 IntelliSense: 識別子 "fprintf" は定義されていません c:\Users\Robert\Documents\Visual Studio 2012\Projects\allegro-01\allegro-01\main.cpp 9 7 allegro-01 71 IntelliSense: 識別子 "stderr" は定義されていません c:\Users\Robert \Documents\Visual Studio 2012\Projects\allegro-01\allegro-01\main.cpp 9 15 allegro-01 72 IntelliSense: 識別子 "fprintf" は定義されていません c:\Users\Robert\Documents\Visual Studio 2012\Projects\allegro -01\allegro-01\main.cpp 15 7 allegro-01 73 IntelliSense: 識別子 "stderr" は定義されていません c:\Users\Robert\Documents\Visual Studio 2012\Projects\allegro-01\allegro-01\main.cpp 15 15 アレグロ-01c:\Users\Robert\Documents\Visual Studio 2012\Projects\allegro-01\allegro-01\main.cpp 9 15 allegro-01 72 IntelliSense: 識別子 "fprintf" は未定義です c:\Users\Robert\Documents \Visual Studio 2012\Projects\allegro-01\allegro-01\main.cpp 15 7 allegro-01 73 IntelliSense: 識別子 "stderr" は定義されていません c:\Users\Robert\Documents\Visual Studio 2012\Projects\allegro-01 \アレグロ-01\main.cpp 15 15 アレグロ-01c:\Users\Robert\Documents\Visual Studio 2012\Projects\allegro-01\allegro-01\main.cpp 9 15 allegro-01 72 IntelliSense: 識別子 "fprintf" は未定義です c:\Users\Robert\Documents \Visual Studio 2012\Projects\allegro-01\allegro-01\main.cpp 15 7 allegro-01 73 IntelliSense: 識別子 "stderr" は定義されていません c:\Users\Robert\Documents\Visual Studio 2012\Projects\allegro-01 \アレグロ-01\main.cpp 15 15 アレグロ-01\Users\Robert\Documents\Visual Studio 2012\Projects\allegro-01\allegro-01\main.cpp 15 15 allegro-01\Users\Robert\Documents\Visual Studio 2012\Projects\allegro-01\allegro-01\main.cpp 15 15 allegro-01
c++ - Allegro 5.0.8 をコンパイル - 静的リンク (Code::Blocks 12.11、MinGW 4.7.1、Windows 7)
Windows 7 に Code::Blocks 12.11 (ディストリビューションに MinGW 4.7.1 を含む) をインストールした後、単純な Allegro 5 の例をコンパイルしようとしました。それに関する唯一の (公式?) チュートリアル (少し古い):
http://wiki.allegro.cc/index.php?title=Allegro_5_Tutorial
http://wiki.allegro.cc/index.php?title=Windows_Vista, _Code::Blocks_10.05_and_Allegro_5
質問1:
allegro-5.0.8-mingw-4.5.0.7z を見つけました。MinGW 4.7.1 のバージョンはありますか?
質問2:
エラー:
mingw32-g++.exe: エラー: 認識されないコマンド ライン オプション '-static-libstdc++'
質問 3:
リンク オプション -static-libstdc++ を削除すると、別のエラーが発生します:
c:/program files (x86)/codeblocks/mingw/bin/../lib/gcc/mingw32/4.7.1/../../.. /../mingw32/bin/ld.exe: -lgcc_eh が見つかりません
質問 4:
liballegro-5.0.8-monolith-static-mt.aa は、すべての allegro .a ファイルの単一の代替品ですか? extern mingw .a 依存関係も含まれていますか? これら 30 個の .a ファイルすべてを見つけて正しい順序で構成するという「ゲームプレイ」は恐ろしいものです。アンチパターンを思い出させますhttp://en.wikipedia.org/wiki/Sequential_coupling :)
回答ありがとうございます。
c++ - TileSheet をラップするにはどうすればよいですか?
タイルシートのタイルに対応する数字だけのレベル ファイルからマップを読み込みます。
レベルファイルはこちら
そして、これがそれを解釈するコードです
これがその外観です http://i.imgur.com/6W49eWf.jpg
わかりましたので、私のタイルシートは 1000 x 200 で、次のようになりますhttp://i.imgur.com/Y83zBxj.png
マップ ファイルに 20 または 40 を入れるときに、20 または 40 にラップ アラウンドするにはどうすればよいですか?
また、TileSizeX と TileSizeY は 50 です
allegro - xcode での allegro プログラムのアーカイブ
ゲームを xcode でアーカイブされたアプリケーションとして動作させようとしていますが、まったく実行できません。ゲームは、アーカイブされた後ではなく、通常の実行およびプロファイル モードで実行されます。次のエラー メッセージが表示され、メイン関数がまったくないように見えます。
また、フレームワークを使用してアプリケーションを構築しようとしましたが、役に立ちませんでした。
ここに私のビルド設定があります
- ヘッダー検索パス: /usr/local/include
- ライブラリ検索パス: /usr/local/lib
- ユーザー ヘッダー検索パス: "$(PROJECT_DIR)/.."、"$(BUILT_PRODUCTS_DIR)"
- 常にユーザー パスを検索: はい
https://github.com/tmuntan1/allegro-exampleにもサンプル プロジェクトがあります。
ご協力ありがとうございました
編集1:
フレームワークのエラーメッセージは次のとおりです
編集2:
問題は解決しましたが、解決策に満足していません。「アーカイブ用にビルド」して、派生データでリリースを見つけると、機能します。アーカイブを作成し、オーガナイザーからアプリケーションを取得した場合にのみ機能しません。
c++ - ALLEGRO での al_draw_line() の失敗
を使用して線を描画したい場合al_draw_line(100,100,400,400,al_map_rgb(255,255,0),5);
、 myALLEGRO_DISPLAY
は自動的に閉じられ、この行の後のステートメントは実行されません。私のプログラムはちょうど停止します
c++ - al_clear_to_color(ALLEGRO_COLOR) を呼び出すと Allegro 5 がクラッシュする
私は Allegro 5 から始めていますが、すぐにコーディングしている 2 番目の hello-world のようなプログラムで行き詰まりました。いくつかのデバッグの後、関数を呼び出すとプログラムがクラッシュするという結論に達しましたal_clear_to_color(ALLEGRO_COLOR)
。allegro を静的および動的にリンクしようとしましたが、問題はまだ残っています。私は完全に迷っています。
コードは次のとおりです。
編集:
行の置き換え
ラインのために
宣言する
ループが開始する前は機能しますが、関数が実行されるとクラッシュします
と呼ばれます。
デバッガーは次のメッセージを返します。
C:\Program Files (x86)\CodeBlocks\MinGW\bin\libstdc++-6.dll の共有ライブラリ シンボルの読み取り中にエラーが発生しました:
プログラムがシグナル SIGSEGV を受信しました。セグメンテーション違反です。