2012-05-09 9 views
4

フラッシュで記録したり、Javaアプレットにしたりしないでください! C++のアプリケーションであるをそのままWebページに埋め込んで、サイト訪問者がゲームをプレイできる方法はありますか?C++ゲームをウェブページに埋め込むにはどうすればいいですか?

平均的なフラッシュゲームのサイズやシンナーのサイズが小さいことがわかります。

問題のゲームは、1000行のコードの下でAllegroライブラリで書かれました。

可能ですか?

+0

https://developers.google.com/native-client/devguide/tutorial – Flexo

+1

ですJavaScript C++インタプリタ/コンパイラを実装したり、C++コードをJavaScriptコードにコンパイルしたりすることができます。 –

+0

@Alex:原則として、ComeはC++をCにコンパイルし、Clue(http://cluecc.sourceforge.net/)はCをJavascriptにコンパイルします。免責事項:これは実際には動作しないかもしれませんが、私はClueがComeauが出力するすべてのC機能を受け入れるかどうか、Clueの出力はどのようにブラウザポータブルであるかわからず、(最も重要なことに)この特定のアプリは確かにプラットフォーム固有のライブラリを使用しています。 –

答えて

5

クイックアンサー:なしできません。

C++アプリケーションはWebページに埋め込むことはできません。ダウンロードする必要があり、ユーザーはクライアントマシンで実行する必要があります。

詳細:それはどういうわけか可能ですが、絶対には、ブラウザ間で移植性がありません。たとえば、Internet ExplorerにはのActiveXコンポーネントがあります(C++アプリケーションでもダウンロードでき、インストールされ、Webページ内で実行されます)。他のブラウザでは、これを達成するためのメカニズムが異なります(Chromeにはネイティブクライアントなど)がありますが、本当に移植性のあるものを書くことはできません。

+1

Emscriptenを使用すると、クロスブラウザのJavascriptコードを生成できます! – kovacsmarcell

+0

興味深いプロジェクト! JavaScriptに_compile_するためにC++で何も書き込むことは決してありませんでしたが、アイデア自体は面白いです。今日では他にも実行可能な選択肢がありますが、いくつかの書き換えが常に必要です。 emscriptenがあなたのケースで動作する場合、良いキャッチ! –

0

ネイティブエクステンションとしてGoogle Chromeブラウザ用のプラグインとしてのみ使用できます。

2

はemscriptenプロジェクトを試してみて、それがC++コンパイラですLLVM Clangをベースにして、C++ファイルをJSファイルにコンパイルし、ブラウザで実行することができます。 Emscriptenをインストールした後、これを使用しますが、helloWorld.cppでこれを保存したと仮定すると

#include <iostream> 

int main() 
{ 
    using namespace std; 

    cout << "Hello World" << endl; 
    return 0; 
} 

$ emcc helloWorld.cpp -o helloWorld.html 

あなたが完了すると、ブラウザにhelloWorld.htmlを開き、自分で確認してください。 Emscriptenの良いところは、私は信じて、それはなどSDLを含むデスクトップライブラリの広い範囲を、サポートしていること

http://kripken.github.io/emscripten-site/

+0

アプリケーションが クロスプラットフォーム の場合、Emscriptenはそれを実行できます - 使用しているライブラリOpenGL ES 2またはOpenGL ES 2互換OpenGLコードを使用しています。 – kovacsmarcell

+0

それはアレグロで動作します! – kovacsmarcell

関連する問題