0 支持
116 閲覧
C++(Windows) で書いてあるゲームを Unity に移植させたいと考えています。

Unity でゲームを作っておくと、Windows、Mac、Android, iPhone 上で動作する

実行ファイルが簡単にできるとからオススメです、という話を聞いたからです。

Unity 自体は、昨日環境をインストールしたばかりで、全く知らないです。

Unity の勉強を始めると仕組みが結構違うみたいで、簡単でないなと思いました。

困っているのは、Bitblt (ビットマップを描画する関数)と同等のことをさせたいのですが、

検索してもヒットしなくて困っています。もう少し正確に書くと、やりたいことは、

「画面の座標(posx,posy)に、ビットマップの座標(srcx,srcy)の幅width高さheightの部分を

表示させたい」

です。

Unityでは、こんな基本的なことが出来ないのでしょうか?

コマンドはなくても、こうすれば、同等なことができます、という情報でも構いません。

よろしくお願いいたします。
初心者 (120 ポイント) | 116 閲覧

ログインまたはユーザー登録してから回答してください。

回答 1

+1 支持
Unityで画像を表示させるときは、「Sprite」を使ってください。

使い勝手はWin32APIとは大幅に違いますが、より使いやすく、かつ圧倒的に最適化されています。

まずは次のようなチュートリアルを参考にゲームを作ってみてください。

https://github.com/unity3d-jp-tutorials/2d-shooting-game/wiki

Unityの世界は、基本的には「毎フレーム描画命令を発行する」ではなく、「描画コンポーネントを持ったGameObjectを置いておくと、それが勝手に描画される」という思想になっています。

この思想の違いは、Unityは「Win32API」ではなく「DirectX」「OpenGL」などのグラフィックAPIを下地としているため、描画の最小単位が「ポリゴン」となっていることに起因しています。

ポリゴンを作って、テクスチャを貼って、シェーダーを用意して、描画命令を発行して…などとすることで一応「毎フレーム描画命令を発行する」も可能ですが、とてもテクニカルなコードを書くことになるので、まずはUnityの思想の上でゲームを作ってみましょう。
初心者 (160 ポイント)
+1
回答ありがとうございます。描画命令によって、描画するのではないのですね。移植の問題はすくには解決できなさそうなので、unityに慣れてから、また考えることにします。チュートリアルも見てみようと思います。

関連する質問

0 支持
1 回答
0 支持
1 回答
tensaku 初心者 (440 ポイント) 2020 10/24 質問 | 116 閲覧
0 支持
1 回答
玉カエル 初心者 (160 ポイント) 1/15 質問 | 87 閲覧
2021-02-08 質問・回答をMarkdownで入力できるようにしました。
2020-09-03 新たなスパム対策を導入しました。

114 質問

121 回答

137 コメント

146 ユーザー