ログイン
ユーザ名:

パスワード:


パスワード紛失

新規登録
メインメニュー
フォーラム一覧   -   トピック一覧
   超ビギナー
     ステージサイズが2880で切れる
投稿するにはまず登録を

スレッド表示 | 新しいものから 前のトピック | 次のトピック | 下へ
投稿者 トピック
hys73
投稿日時: 2013-9-10 0:03
ご主人様
登録日: 2011-10-24
居住地: 大阪
投稿: 54
ステージサイズが2880で切れる


下記のようにステージの大きさを3840-1080にして起動するとwidthが2880で切れてしまいます。

本サイトに類似の回答があり、4095までは可能のようですが、2880の制限を解除するにはどこで設定すれば良いでしょうか。

http://www.fxug.net/modules/xhnewbb/viewtopic.php?topic_id=4245&forum=16&post_id=16629#forumpost16629

FlashBuilder 4.6です。



<?xml version="1.0" encoding="utf-8"?>
<s:WindowedApplication xmlns:fx="http://ns.adobe.com/mxml/2009"
xmlns:s="library://ns.adobe.com/flex/spark"
xmlns:mx="library://ns.adobe.com/flex/mx"
width="3840" height="1080"
initialize="init(event)" >


<fx:Script>
<![CDATA[

protected function init(event:FlexEvent):void
{
Alert.show(this.width.toString()); ←2880
}




taiga
投稿日時: 2013-9-13 13:25
管理人
登録日: 2007-5-28
居住地: 東京
投稿: 84
Re: ステージサイズが2880で切れる
nativeWindow.bounds プロパティを使用します。

protected function initializeHandler(event:FlexEvent):void {
   nativeWindow.bounds = new Rectangle(0, 0, 4095, 4095);
   width  = 3840;
   height = 1080;
}
protected function applicationCompleteHandler(event:FlexEvent):void {
    Alert.show( width.toString() );
}

いかがでしょう。

ちなみに、以前こんな記事書いてました。
http://www.adobe.com/jp/devnet/air/articles/air2master09.html


----------------
taiga
https://taiga.jp/

hys73
投稿日時: 2013-9-19 16:34
ご主人様
登録日: 2011-10-24
居住地: 大阪
投稿: 54
Re: ステージサイズが2880で切れる
ありがとうございます!!
無事2880以上になりました。

テストしてみて、もう一点疑問が生じました。
下記のように1つのステージ上に3つのコンテナを作り
pnl3で動いているSpriteの衝突判定(hitTestPoint)が動作しません。

ですが、pnl_mainごと、x=-1920与え、画面を左にずらしてやると
問題なく動作します。

私のPCが1920×1080なので、領域外(画面の外)になっていることが
taigaさんの記事にある「ウィンドウサイズにはシステムクロームが含まれる」に
該当するのかとも思ったのですが、何か回避方法などはありますでしょうか??


<s:WindowedApplication xmlns:fx="http://ns.adobe.com/mxml/2009"
xmlns:s="library://ns.adobe.com/flex/spark"
xmlns:mx="library://ns.adobe.com/flex/mx"
width="3000" height="1920" frameRate="30"
initialize="init(event)" applicationComplete="act(event)" >


<s:BorderContainer id="pnl_main" x="0" y="0" width="3000" height="1920" >
<s:BorderContainer id="pnl1" x="0" y="0" width="1920" height="1080" backgroundColor="#fcc000" />
<s:BorderContainer id="pnl2" x="0" y="1080" width="1920" height="840" backgroundColor="#fff000" />
<s:BorderContainer id="pnl3" x="1920" y="0" width="1080" height="1920" backgroundColor="#000000" >
<mx:UIComponent id="uic"/>
</s:BorderContainer>

</s:BorderContainer>

<fx:Script>
<![CDATA[
import mx.controls.Alert;
import mx.events.FlexEvent;
import spark.core.SpriteVisualElement;

private var _mrkArray:Array=new Array;
protected function init(event:FlexEvent):void
{
nativeWindow.bounds = new Rectangle(0, 0, 3000, 1920);
width = 3000;
height = 1920;

var sprite:SpriteVisualElement = new SpriteVisualElement();
sprite.graphics.beginFill(0xFFFFFF)
sprite.graphics.drawCircle( 0, 0 , 10);
sprite.x=540;
sprite.y=0;

_mrkArray.push(sprite);
uic.addChild(sprite);
}

protected function act(event:FlexEvent):void
{
addEventListener(Event.ENTER_FRAME, _onEnterFrame);
}

protected function _onEnterFrame(e:Event):void
{
_mrkArray[0].y +=5;

if ( _mrkArray[0].hitTestPoint(540,200,false)) {

Alert.show("Hit!");
removeEventListener(Event.ENTER_FRAME, _onEnterFrame);
}
}

]]>
</fx:Script>

</s:WindowedApplication>
taiga
投稿日時: 2013-9-25 12:37
管理人
登録日: 2007-5-28
居住地: 東京
投稿: 84
Re: ステージサイズが2880で切れる
なんとなく察しが付くと思いますが、hitTestPoint() の引数座標はグローバル座標です。
掲載されているソースを見る限り、アプリケーションのウィンドウサイズ、システムクロームなどは無関係と思われます。

引用:
hys73さんは書きました:テストしてみて、もう一点疑問が生じました。
下記のように1つのステージ上に3つのコンテナを作り
pnl3で動いているSpriteの衝突判定(hitTestPoint)が動作しません。

ですが、pnl_mainごと、x=-1920与え、画面を左にずらしてやると
問題なく動作します。

たとえば、評価座標を以下のように修正してみてはどうでしょう。

protected function _onEnterFrame(e:Event):void {
    var sp :SpriteVisualElement = _mrkArray[0] as SpriteVisualElement;
    var ex :int = 540;
    var ey :int = 200;
    var gp :Point = uic.localToGlobal( new Point(ex, ey) );
    sp.y += 5;
    if ( sp.hitTestPoint(gp.x, gp.y, false) ) {
        Alert.show("Hit!");
        removeEventListener(Event.ENTER_FRAME, _onEnterFrame);
    }
}


----------------
taiga
https://taiga.jp/

スレッド表示 | 新しいものから 前のトピック | 次のトピック | トップ

投稿するにはまず登録を