14

私はインターネットを見回して、実際のロード画面を表示しながらフラッシュ コンテンツ/ゲームをロードできるスクリプトについて、常に過去 6 か月のように見えましたが、常にいくつかの回答を受け取りました。

  1. Javascript で実際の読み込みを表示することはできません。
  2. アクション スクリプトをフラッシュ ファイルに追加するだけで実行できます。おそらく彼らは FLA について話しているのでしょう。
  3. 表示されて数秒表示されてから消える偽の読み込み画面を表示しないのはなぜですか (このような画面で最も厄介なのは、最初にユーザーに 15 秒の読み込みをさせてからフラッシュの読み込みを開始することです。それは良いことですが、彼らを二重に待たせるのは本当に悪いことです)

でも、ずっと探していたものをついに見つけました。実際の読み込み (広告も表示) を表示し、swf オブジェクトを使用してフラッシュ コンテンツとも対話する Jquery ベースのスクリプト。FLA を変更する必要がなく、純粋に外部環境を処理するだけなので、これは本当に素晴らしいことです。では、何が問題なのかという疑問が生じます。問題は、このスクリプトがピクセル用に作成されたことです。フラッシュの幅と高さをピクセル単位で使用している場合は機能しますが、%ages を使用しているためピクセルを使用できません (この方法では、ユーザーはオプションで全画面表示にすることができます)。 f11 を押します)。

ご覧のとおり、そのスクリプトを %ages で動作させたいのですが、それが私の問題ですが、前述したように、すぐにはここに来ませんでした。過去数か月から 14 以上のフォーラムで (実際に懇願) 助けを求めてきました。そしてもちろん、何人かの善良な人々はまだ存在し、何人かの人々は私が特定のポイントに到達するのを助けました (しかし、それは問題を解決しませんでした)

これは、私が話しているスクリプトへのリンクですhttp://www.balloontowerdefense.net/jquery-preloader/jquery-preloader.html (このスクリプトの作成者へのリンクです)

これは実際の例へのリンクです(ピクセルに基づくフラッシュ) http://www.balloontowerdefense.net/jquery-preloader/example.html

ここで誰かが私を助けてくれましたが、1 か月前にはうまくいきませんでした。その人は、私が Preroll という名前のプラグインを変更する必要があると私に言いました。

プラグインを変更して、ピクセルの代わりにユーザー指定の単位を使用します。これを行うには、プラグインの applygameiframe と showgame の 2 つの関数を変更する必要があります。

applygameiframe should be changed to:

var applygameiframe = function() {
  var gc = '#'+settings.gameframe;
  var iframe = $('<iframe />').attr({
    "id": settings.gameid,
    "src": settings.swf,
    "frameborder": 0,
    "scrolling": "no",
    "marginwidth": 0,
    "marginheight": 0
  }).css({
    "height":'settings.height
    "width": settings.width
  });
  $(gc).append(iframe);
  return true;
};

showgame should be changed to:

var showgame = function() {
    var ac   = '#' + settings.adframe;
    var game = '#' + settings.gameframe;
    $(ac).hide();
    $(game).css({
    "width": settings.width,
    "height": settings.height
    });
};

これらの変更が行われると、インライン CSS は、パラメーターとして指定したもの (つまり、100%、50em など) に設定されます。

上記のように Preroll プラグインに対して行うように指示された変更を行った後、これがhttp://files.cryoffalcon.com/MyFootPrint/fullscreen.htmlになります

ゲームをロードすると(ロード画面が表示されるので)、最終的にゲームが表示されず、ロードされますが、スキップしてその時点でゲームが表示されるようにする必要がある場合を除いて、すべてうまくいきます。(参考までに、ロードが終了してゲームが表示されると、このリンクhttp://www.balloontowerdefense.net/jquery-preloader/example.htmlを参照できます)

誰かがこの問題を解決できますか?

注: JsFiddle を提供できなくて申し訳ありませんが、5KBps の速度でアフガニスタンに住んでいるので、私には不可能です。

質問が非常に長くなると思ったので、デモ ページ全体を構成する HTML、CSS、および JS を提供しませんでしたが、それでも提供する必要があると思われる場合は、コメントでお知らせください。

関連するマークアップを使用して質問をより関連性の高いものにするために最善を尽くしましたが、何か不足している場合は、編集して再度提供することで最善を尽くします.

会計士として、プログラマーの用語を使用するために最善を尽くしました。コーディングは私の情熱ですが、まだ JS の学習段階です。

更新: ここで問題を解決した後、すべてが正常であることがわかります。http://files.cryoffalcon.com/MyFootPrint/newfullscreen.html
クレジット: この質問に回答した人に移動します。

4

3 に答える 3

2

これは純粋な css の問題のようです。div.gamewrapperの親に幅も高さもありませんが、幅を 100% に設定しようとしています。そのため、サイズは 0 であり、表示されません。

適用する必要があるトリックは、スタイルに次を追加することです。

html, body, .gamecontent {
    height: 100%;
    width: 100%;
}

更新: また、 から削除float: left;.gamecontent .game、次のように 1px の幅と高さを追加します。

.gamecontent .game {
    margin:0px auto 0px auto;
    padding:0px;
    overflow:hidden;
    width : 1px;
    height : 1px;
}
于 2012-05-01T16:07:20.777 に答える
0

さて、あなたのリンクでBloonsを1時間半プレイした後(私の手つかずの作業負荷でそれを確認できます)、フルスクリーン機能は期待どおりに機能すると言っても過言ではありません。Chrome18.0.xを使用しています。

私の経験は次のとおりです。リンクをクリックして、ゲームをロードします。ローダーが完了するまでに約2秒かかり、「ここをクリックしてゲームを表示」ボタンが表示されるまでに時間がかかりました。その後、広告が10秒間表示された後、[再生]をクリックすると、すぐにゲームに移動しました。フルスクリーンは私の知る限り正しく機能しましたが、フルスクリーンを離れたときにゲームのサイズが元に戻らなかったため、下部のセクションが切り取られました。

私はそれがあなたの質問に答えないことを知っています、しかしおそらく問題は特定のブラウザだけにありますか?

于 2012-05-01T15:33:36.563 に答える
0

FF では、高さと幅が 100% であることが問題のようです。スクリプトを次のように少し変更しました。

$(game).css({
"width": window.innerWidth,
"height": window.innerHeight
});

FFでゲームが正しく表示されるようになりました。

于 2012-05-01T16:02:10.980 に答える