問題タブ [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.

0 投票する
2 に答える
476 参照

c++ - Allegro でカーソルを作成しますか?

私は基本的なゲームを書いています。

衝突検出のための実際の適切なアウトラインを持つカーソル画像が必要です。これはマウス用ではありません。ゲーム内で小さなカーソルを飛び回らせたいのですが、境界ボックスを四角形にしたくありません。

しかし、私は Allegro とグラフィカル プログラミングは初めてです。私の最初のアイデアは、al_draw_polygon を使用して標準のカーソルに似たものを作成することでしたが、どの頂点をフィードするかを理解する方法がまったくわからないことに気付きました。これを行うより良い方法はありますか?また、多角形を描画するときに頂点の座標を相互に相対的に計算するための標準的な方法は何ですか? 紙にグラフを書いて毎回計算するわけではありませんか?

私が考えたもう 1 つの方法は、マウスの画像を読み込むことでしたが、それでは長方形になってしまいます。これを正しく行うにはどうすればよいですか?

注: C++。それは当然のことですが、念のため。

0 投票する
1 に答える
170 参照

visual-studio-2010 - Allegro アドオンのランタイム依存関係を追加しますか?

Allegro アドオン ライブラリのいくつかを使用しようとしています。

例えば:

しかし、MSVS10 は、私が参照しているものは未定義であると言っています。スタンダードを手に入れた

うまく動作させるには、アドオンのランタイム依存関係も追加する必要があると思います。しかし、それを行う方法がわかりません。また、プロパティのどの値フィールドにどの値を追加する必要があるかを示すガイド/リストを見つけることもできませんでした。

0 投票する
1 に答える
1409 参照

allegro5 - Allegro 5 号を含む

http://wiki.allegro.cc/index.php?title=Install_Allegro5_From_SVN/OSX#Preliminariesの概要に従って、ターミナルから Allegro 5 をインストールしました。しかし、プログラムを書こうとすると、allegro.h をインクルードするのに苦労します。私が試してみました:

しかし、(g++ を使用して) コンパイルすると次のエラーが発生します。

私も試しました:

しかし、コンパイルしようとすると次のエラーが発生します。

/usr/local/include/allegro5/allegro5.h にファイルが存在することは知っています。私はすでに #include <"/usr/local/include/allegro5/allegro.h"> と #include <"allegro5/allegro.h"> を試しましたが、すべて同様の結果が得られました。私はこれがかなり基本的な質問であることを知っています.Allegroをうまく組み込むことができるプログラムを書きたいだけです.

0 投票する
3 に答える
1715 参照

timer - allegro で複数のタイマーを使用するには?

これは、着信イベントがタイマー イベントであるかどうかを確認するためのイベント ループ内のステートメントです。

しかし、すべてのタイマーがこの同じイベントを生成するので、一度に複数のタイマーを実行するにはどうすればよいでしょうか? それらをどのように区別しますか?

0 投票する
2 に答える
4138 参照

c++ - Allegro5で.png画像ファイルを読み込んでいます

アレグロでゲームを書いていますが、いくつかの画像ファイルをロードしたいと思います。ただし、al_load_bitmapを呼び出すと、nullポインターが返されます。IDEとしてXCode4.1を使用しています。g ++を使用してコンパイルしようとしますが(パスの問題の場合)、g ++を使用してコマンドラインでコンパイルするために何をする必要があるのか​​わかりません(単にg ++ main.cppが機能しません)。とにかく、ここに私のコードがあります:

私はすでに実行しました:

そして私も入れました:

私のファイルの上部にあります。grass.pngもdirt.pngも読み込まれず、main.cppファイルとまったく同じディレクトリにあります。コンパイルエラーは発生しませんが、画像を読み込もうとすると常にnullポインターが表示されるため、画像をディスプレイに描画するときに表示されません。助けてください!

0 投票する
1 に答える
187 参照

png - ゲームで非長方形の画像を作成するにはどうすればよいですか?

質問はしないでください。基本的に、私のゲームには、プレーヤーのカーソルを追いかけるマウスカーソルがたくさんあります。

私が使用している黒い背景の小さな小さなカーソル画像がありますが、問題はそれが単にカーソルの形ではないということです。小さな小さな角があり、複数のカーソルが重なると、.pngの背景である黒い部分によって部分的に隠されます。

カーソル画像を切り取って実際のカーソル形状を設定し、より正確な視覚的オーバーラップとより正確な衝突を可能にするにはどうすればよいですか?

0 投票する
2 に答える
3400 参照

xcode4 - XCode を使用して Mac OSX Lion に Allegro 5 をインストールする方法

Mac 開発は初めてで、Mac に Allegro 5 をインストールする方法を知りたいと思っていました。Xcode で allegro を使用したいのですが、Lion を実行しています。アレグロのインストール方法を教えてください。

0 投票する
1 に答える
2086 参照

c++ - スキャンコードを ASCII に変換する

C++ で独自のテキスト エディターを実装しています。進んでいます...わかりました。;P

キーコード (具体的には Allegro、彼らはそれをスキャンコードと呼んでいます) を ASCII 文字に変換する方法が必要です。AZ を簡単に実行でき、それらを az に変換するのも簡単です。私が現在行っていることは、スキャンコード (al_keycode_to_name) から名前を返す Allegro の関数を使用することです。つまり、押されたキーが AZ の場合、「A」から「Z」を返します。それは簡単ですが、「、」、「;」などの特殊文字を単純に読み取ることはできません。など、そこが苦労しています。

これを自動的に行う方法はありますか?多分これを行うライブラリ?本当の秘訣は、さまざまなレイアウトを考慮することです。

誰かが興味を持っている場合に備えて、これまでのところ私が持っているものがあります。クラス InputState は、基本的に Allegro の inputstate のコピーで、機能が追加されています (keyDown、keyUp、keyPress など)。

0 投票する
1 に答える
1009 参照

c++ - Cairo と Allegro 5 での作業

初心者プログラマーはこちら

Allegro 5 を使用して 2D ゲームを設計していますが、allegro でビットマップ (実際には Photoshop からエクスポートされた png ファイル...) を操作すると、回転した画像が恒星よりも小さく見えることに気付きました:回転した流星

左側が元の向きで、右側が 10 度回転したものです。少し小さいですが、エッジ品質の違いは明らかです。

まず、次の理由から、さまざまな回転位置をすべて含むスプライト シートを作成することは避けたいと思います。

私は流星と私が作成している他のすべてのオブジェクトにさまざまな「効果」が起こっており、オブジェクトの周りにグローが必要です。各オブジェクトの周りに少なくとも 6 つの異なる光る色を適用します。これらの各流星が滑らかに見えるようにするには、おそらく 30 フレームの回転が必要です。ゲーム内で、このように機能するわずか 10 個の異なるオブジェクトが必要だとしましょう。これらのオブジェクトだけで 1800 ファイルになります。

時間をかけるよりも、回転した画像を表示するためのより良い方法を見つけることに集中したいと思います。

私はさまざまなフォトショップのテクニックを研究してみましたが、私が思いつくことができる最善の方法は、フォトショップで円をわずかに小さくしてから、回転の問題を解決するのと同じ灰色の色合いを「光らせる」ことですが、流星がぼやけて見えるようにします.

その後、さらに調査を行ったところ、Allegro 5 でさまざまなブレンド オプションが利用できることがわかりました。al_set_blender で可能なすべてのオプションを試しましたが、ギザギザのエッジの問題に対処するものはありませんでした。

最後に、これに対処する方法を再度検索し、Allegro 5 のアンチエイリアシングに関するこの投稿を発見しました。回答で指摘されたように、アンチエイリアシング オプションが利用可能ですが、プリミティブを描画するときにのみ機能するという大きな制限があります。バックバッファへ。これを実際に実装するのは大変な作業であり、必要なすべてのプリミティブを毎回描画するのは非常に非効率的です。

しかし、他の投稿で私の注意を引いたのは、次のコメントでした。

余談ですが、ゲームにリアルタイム パフォーマンスが必要ない場合は、libcairo にフックして見栄えの良いベクター グラフィックスを描画することもできます。それを Allegro に接続するのは非常に簡単ですが、それは別のトピックです。

もう一度、グラフィック ライブラリと、それらが問題を解決する方法について調査しました。Cairo、SDL、Qt、ImageMagic などを検討しましたが、最終的には Cairo がこの仕事に適したツールであることに同意しました。

最後に、この投稿の理由にたどり着きます。

私の質問は、「Cairo を Allegro 5 に接続する」にはどうすればよいですか?

現在、私は Cairo で作業を行っていないので、カイロに縛られているわけではありませんが、他のものに切り替える本当に正当な理由がない限り、Allegro を使い続けたいと考えています。

Allegro には、allegro コマンドを使用してディスプレイを作成し、それに描画するためのシンプルで直接的な方法があります。しかし、カイロには独自のやり方があり、カイロは表示をまったく管理していないようです。この 2 つが連携して動作していると想像できる唯一の方法は、Cairo が描画コマンドを受け取り、画像を描画し、画像を png ファイルとして保存し、次に allegro 関数を開いてそのファイルを 1 フレーム読み込むことです。これは、コメンターが得ていたものではありません。

とにかく、私の思考過程を自由に批判してください。私は気分を害することはありません。私が理解していないと思われる簡単なことがあれば、教えてください。

0 投票する
2 に答える
1519 参照

c++ - Allegro5データファイルのロード

Allegro5ライブラリを使用しています。datファイルからフォントをロードしたい。Allegroの以前のバージョンでは、これに役立つ方法があります。たとえば、「load_datafile」、load_dat_font。Allegro 5でこれを行うにはどうすればよいですか?