サイト内検索

メインメニュー

ログイン
ユーザID または e-mail:

パスワード:

IDとパスワードを記憶

パスワード紛失

新規登録

オンライン状況
3 人のユーザが現在オンラインです。 (2 人のユーザが ウェブログ を参照しています。)

 登録ユーザ: 0
 ゲスト: 3

もっと...

ウェブログ カレンダー
« « 2007 12月 » »
25 26 27 28 29 30 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5

最新ブログ記事

最近のコメント

最近のトラックバック

|
ウェブログ - ひろゆきの記事
|
 ひろゆきの記事配信

2005/09/19 Mon
 いつも中央にムービークリップ (2)
カテゴリ: flash : actionscript : 
ウィンドウのサイズを変えても、
ムービークリップがウィンドウの中央にくるようにしたい。

まずは、HTML側の設定で、

width="100%" height="100%"

<param name="scale" value="noScale" />
<param name="salign" value="TL" />

scale="noScale" salign="TL"

とする。

次に、_root 上に、MC(インスタンス名: hamster)を配置して、
_root の第1フレームのフレームアクションに

Stage.scaleMode = "noScale";
Stage.align = "TL";

var resizeListener:Object = new Object();
resizeListener.onResize = function():Void {
    flag = "("+Stage.width+","+Stage.height+")";
    hamster._x = Stage.width/2;
    hamster._y = Stage.height/2;
    hamster.flag = "("+hamster._x+","+hamster._y+")";
};
Stage.addListener(resizeListener);

と記述する。


クリックしてウィンドウが開いたら、ウィンドウ・サイズを変えてみよう。
ウィンドウの中央に、ハムスター君がいるはずだ。

がっ!
ウィンドウ・サイズによっては、フォントがにじむ
特に、ビットマップフォント。


そこで、_root の第1フレームのフレームアクションを

Stage.scaleMode = "noScale";
Stage.align = "TL";

var resizeListener:Object = new Object();
resizeListener.onResize = function():Void {
    flag = "("+Stage.width+","+Stage.height+")";
    hamster._x = Math.floor(Stage.width/2);
    hamster._y = Math.floor(Stage.height/2);
    hamster.flag = "("+hamster._x+","+hamster._y+")";
};
Stage.addListener(resizeListener);

と変更する。


クリックしてウィンドウが開いたら、ウィンドウ・サイズを変えてみよう。
ウィンドウの中央に、ハムスター君がいるはずだ。

これは、フォントもにじまない
要は、整数値で処理すればいいわけだ。


#_root にテキストフィールド(変数名: flag) を配置。
#hamster 内に、テキストフィールド(変数名: flag) を配置。


[追記] (05/09/19 Mon 21:36)
Firefox で、高さが100%表示されない場合がある。

<style type="text/css">
<!--
html,body { height: 100%; }
//-->
</style>

を追加する。

[修正] (05/09/20 Tue 05:32)
Opera で、高さが表示されない場合がある。

<center><table width="100%" height="100%">

などの余計なタグは使わない。

Flash 100%表示バグ (A LOT)

XHTMLでDOCTYPEを宣言するとFirefoxとかでFlash 100%表示バグになったりするのだけど
これで解決するらしい。



関連記事: いつも中央にムービークリップ (1)
関連記事: ステージのリサイズ
関連記事: Stage.scaleModeの値
関連記事: リサイズで変動・固定
執筆者: ひろゆき (15:21)
ウェブログ | コメント (10) | トラックバック数 (0) | 閲覧数 (1393)
この記事のトラックバックURL  リンク・引用のないトラックバックは削除することがあります。
http://www.project-nya.jp/modules/weblog/weblog-tb.php/297
 
ブログ記事内容についての質問は、ゲスト相談室 にて投稿ください。
投稿された内容の著作権はコメントの投稿者に帰属します。
投稿者 スレッド
ひろゆき
投稿日時: 05/09/20 05:11  更新日時: 05/09/20 05:24
サイト管理者
居住地: 東京密林
投稿数: 1598
 Re: いつも中央にムービークリップ (2)
引き続き検証ちう。

<table width="100%" height="100%">

</table>

だけなら、行けるみたい。

以下、ダメな例。(MacOSX + Opera 8.02)

<center>
<table width="100%" height="100%">

</table>
</center>

<div style="text-align: center;">
<table width="100%" height="100%">

</table>
</div>


ところが、これは行ける。

<div style="width: 100%; height: 100%; text-align: center;">
<table width="100%" height="100%">

</table>
</div>


親要素で height 指定していないとダメなのかな。
返信
からから
投稿日時: 05/09/20 00:12  更新日時: 05/09/20 00:12
サポーター
居住地: 大田区某所
投稿数: 64
 Re: いつも中央にムービークリップ (2)
いえいえー。
可愛いハムハムが見られてよかったです

<table width="100%" height="100%"> だとダメだけど
<table width="100%" height="400"> は行けるみたい。
たぶん、タグの解釈上の問題かと。

はてさて。
これはOperaの仕様なのか、バグなのか…
返信
ひろゆき
投稿日時: 05/09/19 22:23  更新日時: 05/09/19 22:23
サイト管理者
居住地: 東京密林
投稿数: 1598
 Re: いつも中央にムービークリップ (2)
ありがとー。

お世話かけました

こちらこそ、お手間とらせました。


<table width="100%" height="100%">

だとダメだけど

<table width="100%" height="400">

は行けるみたい。

たぶん、タグの解釈上の問題かと。
返信
からから
投稿日時: 05/09/19 21:58  更新日時: 05/09/19 22:43
サポーター
居住地: 大田区某所
投稿数: 64
 Re: いつも中央にムービークリップ (2)
へーい。ちゃんと表示されましたー。@WinXP+Opera8.02
お世話かけました

operaだと100%のtableは表示出来んのかねぇ?
返信
ひろゆき
投稿日時: 05/09/19 20:55  更新日時: 05/09/19 21:51
サイト管理者
居住地: 東京密林
投稿数: 1598
 Re: いつも中央にムービークリップ (2)
修正してみたー。

どっ、どう?

------
[追記1]
MacOSX + Opera 6.03 / 7.53b1 ともに、変。
読み込みが上手く行っていないような感じ。
8.02 にしてみるるぅ。

------
[追記2]
MacOSX + Opera 8.02 では、表示されました。
#リロードする必要があるかも。

やはり、<table>がダメだったみたい。
ごめんよぉ。
返信
からから
投稿日時: 05/09/19 20:49  更新日時: 05/09/19 20:52
サポーター
居住地: 大田区某所
投稿数: 64
 Re: いつも中央にムービークリップ (2)
カエルさんはちゃんとぴったしサイズで窓が開いた上に、表示も動作もちゃんとしてますわー。

なんででそねぇ…?
一応古いverのOperaでも見てみたけど、やっぱダメですたわ。

ちなみに、直接開いたflashでウィンドウサイズ変えたら、ちゃんと中央に表示されてましたよー。
返信
ひろゆき
投稿日時: 05/09/19 20:46  更新日時: 05/09/19 20:46
サイト管理者
居住地: 東京密林
投稿数: 1598
 Re: いつも中央にムービークリップ (2)
うぃ、トップのflashは問題なっしんぐっす。

flash直接なら開けるんで、多分ソースかなぁ…?

となると、<table>タグのheightあたりが怪しい。
修正してみます。

関連記事: かえる君 (衝撃波)
これは、どう?
返信
からから
投稿日時: 05/09/19 20:18  更新日時: 05/09/19 20:34
サポーター
居住地: 大田区某所
投稿数: 64
 Re: いつも中央にムービークリップ (2)
うぃ、トップのflashは問題なっしんぐっす。

ただ、ムービーの貼ってあるページ自体が真っ白けでして。。
タイトルとファビコンは読み込まれてるですよ。
IEではちゃんとムービー表示されてました。

ちなみに、星屑のトップでflashpleyerのヴァージョン確認出来たような気がするんで、確認したら8.0r22と表示されてますー。@Opera

----------
■追記
flash直接なら開けるんで、多分ソースかなぁ…?

http://www.project-nya.jp/images/flash/stageCenter4.swf
返信
ひろゆき
投稿日時: 05/09/19 19:42  更新日時: 05/09/19 19:42
サイト管理者
居住地: 東京密林
投稿数: 1598
 Re: いつも中央にムービークリップ (2)
Opera8.02じゃウィンドウに何も表示されないよぉ。。

にゃあプロジェクトのトップにある flash は問題なし?
返信
からから
投稿日時: 05/09/19 19:08  更新日時: 05/09/19 19:08
サポーター
居住地: 大田区某所
投稿数: 64
 Re: いつも中央にムービークリップ (2)
くすん。
Opera8.02じゃウィンドウに何も表示されないよぉ。。
PluginはshockwavePlayerとFlashPlayerの最新版を入れてあるはずなんだけどなぁ。。

ちょっと調べて見るですー。
返信