メイン 迷える子羊の部屋【初心者専用】 _rotationでの誤差? | 投稿するにはまず登録を |
スレッド表示 | 新しいものから | 前のトピック | 次のトピック | 下へ |
投稿者 | スレッド |
---|---|
toudoury | Åê¹ÆNo.16458 投稿日時: 2005-4-4 8:15 |
新米 居住地: 投稿: 2
使用環境:
|
_rotationでの誤差? 携帯のFlashLiteが面白そうなので
FLASHとActionScriptの勉強をはじめました。 開発環境はMX2000proのトライアルです。 手始めにアナログ時計でも作ってみようと思い 時間を取得し _rotationで秒針、長針、短針を回転させる術までは なんとかわかったのですが、 _rotationで針を回転させていくうちに 針の画像(ムービークリップ?)が段々小さくなっていきます。 setProperty("byousin",_rotation,360*sec/60); として針を回転させています。 他に画像を操作するsetPropertyや 他のActionScript等は組み込んでません。 _rotationを繰り返すうちに段々小さくなってしまうんだと 解釈しましたが・・・ どうにかできないでしょうか? |
Komatsu | Åê¹ÆNo.16459 投稿日時: 2005-4-4 10:32 |
職人 居住地: 東京都葛飾区 投稿: 356
使用環境:
|
Re: _rotationでの誤差? こんにちは、toudouryさん。
FlashやOSのバージョンは、ご自身のプロフィールとして登録しておけば便利ですよ。 引用: toudouryさんは書きました: 現象を確認するために、似た構成で針を回転させるものを作成してみました。 私が作成したものでは、回転が進むほどムービークリップ(以下MCとします)の長さが伸びてしまいました。 以下私が実験した内容です。 構成:ステージ上に、秒針のMCを配置。秒針のMCの基準点は針の根元としています。インスタンス名「byousin」。 設定:Flash Lite1.1書き出し
trace文で「_yscale」をとってみると、確かに長さが変わっていきます。 簡略化した書き方ではどうかと思い、以下の2つの角度を変更するコードも試しましたが、結果は同じでした。 setProperty("byousin",_rotation,6*sec); byousin._rotation=6*sec; DocomoのHTMLシュミレータIIでも同じ現象がおきました。 Flash Player4でも同じ現象がおきました。 Flash Player5?7ではおきていません。 Flash Player4ならびに、Flash Lite1.0?1.1においての「_rotation」の実装が異なるんですかねえ? もしくはFlash Player4用に演算処理をエミュレートしている誤差なんでしょうか? なんにせよ、これ困った問題ですね。 改善点ではなく代案なのですが、条件文を使用して、取得した時間が0の時に「_yscale」を100(%)として設定しなおすことをしてみてはいかがでしょうか? |
Fumio | Åê¹ÆNo.16460 投稿日時: 2005-4-4 10:44 |
ちょんまげら 居住地: 東京 投稿: 4531
使用環境:
|
Re: _rotationでの誤差? つまり、[Flash Lite 1.0]または[Flash Lite 1.1]でパブリッシュされているということですね。[パブリッシュ設定]は大切なポイントですので、できるだけわかりやすく明記しましょう。
引用: toudouryさんは書きました: 最初、問題を再現することはできませんでした。_rotationプロパティに、小数以下の値を設定すると発生するようですね。 Flash LiteがベースとするFlash 4では、90度単位でないと縮むという問題があったようです。Flash Playerの演算処理方法にもとづく現象のようですので、半ば仕様と考えられました。 引用: _rotationで針を回転させていくうちに |
Fumio | Åê¹ÆNo.16461 投稿日時: 2005-4-4 10:51 |
ちょんまげら 居住地: 東京 投稿: 4531
使用環境:
|
Re: _rotationでの誤差?
|
toudoury | Åê¹ÆNo.16464 投稿日時: 2005-4-4 11:43 |
新米 居住地: 投稿: 2
使用環境:
|
Re: _rotationでの誤差? コマツさん、野中文雄さん返信ありがとうございます!
やっぱりバグなのか、誤差が出てしまうんですね…。 ご提案の通り、
で毎フレーム大きさを直してみようと思います。 パブリッシュ設定は違いはよくわかってないんですが auなのでFlashLite1.1に設定しています。 プロフィールなんていうものがあったんですね 活用してみますね! ありがとうございました! |
Komatsu | Åê¹ÆNo.16466 投稿日時: 2005-4-4 12:43 |
職人 居住地: 東京都葛飾区 投稿: 356
使用環境:
|
Re: _rotationでの誤差? 野中さん>>
「表示の速さ」を優先した結果での「仕様」なんですね。 勉強になりました。 自分で試したサンプルは最初は長くなって、放置しておいてしばらくしてみると、針のMCはかなり縮んでました。 なので、これからFlash Lite1.1で時計作るときには、scaleのプロパティを設定することにしようとおもいました。 ユタさん>> パブリッシュの設定はFlash Lite1.1で問題ないですよ?。 あと、プロパティの設定については、(thisは使えませんけど)ドットシンタックスでもかけますので、
みたいな書き方でもOKですよ。 |
Fla4man | Åê¹ÆNo.16474 投稿日時: 2005-4-4 14:12 |
職人 居住地: かまくら 投稿: 517
使用環境:
|
Re: _rotationでの誤差? PC用プレーヤー(7)でも「変な現象」はでます。
バカフラに投稿したまだ未完成の3D富士山がそうです。 ファイルバージョンヘッダーが「4」、 rotationの値が小数 だと富士山が段々Hな形になってしまったのでびっくらこきました。 Flashlite1.1は実質バージョン5なので出ないのだと思いますが 実際プレーヤー自体がFlashlite1.1に対応していないと ファイルで工夫しても現象は出ると思います。 Flashlite1で暫定的に対応するには とりあえず回転の値を小数でキープしつつも 値を整数化(int)してからいれれば 少なくともPC版プレーヤー及びFlash4プレーヤーでも 大丈夫だったのでよいのでは無いかと思います。 PCの場合90度単位でなくても(1度単位)とりあえず一晩動かして 誤差はでませんでした。
|
SeeDa | Åê¹ÆNo.16477 投稿日時: 2005-4-4 14:49 |
職人 居住地: Nagoya 投稿: 221
使用環境:
|
Re: _rotationでの誤差? コマツさん、携帯強いですね?。
ドットシンタックスが使えるとは知りませんでした 一つのMCでしか試していませんが、3種類の記述方法でファイルサイズを比べたらドットシンタックスがトップでした。
これはっ!と、いろんなコンテンツで試してみたら、単にファイル容量だけ見た場合は『時と場合によりけり…』が結論みたいです |
スレッド表示 | 新しいものから | 前のトピック | 次のトピック | トップ |
投稿するにはまず登録を | |