仮想幅中の背景について

ホーム フォーラム CF2.5使用法全般 仮想幅中の背景について

タグ: 

  • このトピックには4件の返信、2人の参加者があり、最後にyotubaにより1ヶ月、 3週前に更新されました。
5件の投稿を表示中 - 1 - 5件目 (全5件中)
  • 投稿者
    投稿
  • #37642
    yotuba
    参加者

    アプリケーションウィンドウは640×480で作成し
    フレーム1の仮想幅を1280とし
    クイック背景から作成した32×32の背景オブジェクトを
    画面の右、中央、左(仮想幅の終端)の上下に障害物として
    配置しました。

    プレイ開始画面の640×480の範囲にある背景オブジェクトは
    障害物として機能するのですが
    仮想幅の終端にある背景オブジェクトは障害物として
    機能しません。
    そういうものなのでしょうか?

    やり方があるようでしたら教えていただけないでしょうか
    よろしくお願いいたします。

    Attachments:
    You must be logged in to view attached files.
    #37827
    ASD
    キーマスター

    『1番目のレイヤーではフレームの実サイズ外での背景(障害物)衝突が無効になる(アクティブ同士の衝突は有効)』という仕様が存在します。ですので、フレームサイズはそのままで仮想幅だけを広げてスクロールさせる作り方をする場合は、衝突が必要なオブジェクトは2番目以降のレイヤーに配置するようにしてください(ちなみに、仮想幅のみでスクロールさせる方がスクロール自体の処理は軽くなります)。

    なお、フレームプロパティの『表示領域外の背景衝突も処理』のチェックを外すと、レイヤー1でも仮想幅終端の障害物との衝突が機能するようになります。が、無効にすると項目名の通り、表示領域外(ウィンドウ外)にいるオブジェクトの障害物との衝突が機能しなくなりますのであまり使えるテクニックではありません。

    #37841
    yotuba
    参加者

    そのような仕様があったのですね
    レイヤー2に作成することで障害物として機能させることができました。
    ありがとうございます。

    ところで、回答に書いて頂いている
    “仮想幅のみでスクロール” とはどういう状態なのでしょうか?
    X=640のフレームサイズで三画面分の仮想幅を設定した時
    641から1920の範囲内でのみスクロールさせる
    と言う事ですか?

    もし、お時間があれば教えて頂けますでしょうか
    ありがとうございました。

    #37844
    ASD
    キーマスター

    通常画面をスクロールさせるには、フレームのサイズをウィンドウ(表示領域)のサイズより大きいサイズに設定することで実現しますが、フレームサイズはそのままで仮想サイズのみを広げることでもスクロールさせることができます。
    スクロールはウィンドウの中心がカメラの位置になりますので、横640のウィンドウで仮想幅を1920とした場合は、320~1600までの範囲でスクロールします。

    ちなみに、仮想サイズを-1に設定すると無限スクロールになります。レイヤーのプロパティで背景のループを設定することにより、同じ背景が延々流れるシーンを簡単に組むことができます(メニュー画面でバックを流れる背景など)。

    #37845
    yotuba
    参加者

    説明頂して頂いた
    “フレームの実サイズ外での背景(障害物)衝突が無効になる”
    の部分を誤解しておりました。

    (1)アプリケーションのウィンドウサイズ = 640×480
    フレームのウィンドウサイズ = 1280×480

    (2)アプリケーションのウィンドウサイズ = 640×480
    フレームのウィンドウサイズ = 640×480
    フレームの仮想サイズ(W x H) = 1280×480

    (1)の条件では障害物として機能するが
    (2)の条件では仕様による制限があるものの
    スクロールの処理自体は軽くなる。

    と言う事だったのですね。
    確かに読み返すとそう書いて頂いておりますね ^ ^;
    上の追加で説明頂いた回答をみて改めて気づきました。

    お忙しい中、説明して頂き
    ありがとうございました。

5件の投稿を表示中 - 1 - 5件目 (全5件中)
  • このトピックに返信するにはログインが必要です。