トップへ戻るニュースフォーラムFLASH-ML 過去ログBak@Flaダウンロードよくある質問と答
ログイン
ユーザ名:

パスワード:


パスワード紛失

新規登録
メインメニュー
メイン
   コーダーズルーム【スクリプト系】
     Math.floorで小数点が帰ってくる
投稿するにはまず登録を

スレッド表示 | 新しいものから 前のトピック | 次のトピック | 下へ
投稿者 スレッド
murakami
Åê¹ÆNo.37651
投稿日時: 2008-2-18 13:23
新米
居住地:
投稿: 2
使用環境:
WinXP,Flash CS3
Math.floorで小数点が帰ってくる
AlphaOFFの関数を実行すると本当は切り捨てられていないといけないアルファの値が小数点を引っさげて帰ってきます。。

バグなのか私の書き方がおかしいのか。。
どうかご教授お願いいたします。

//////////////////////////////////////////////////////////

function AlphaOFF(){
trace("AlphaOFF実行中");

this._alpha +=Math.floor(0-this._alpha/3);


trace("アルファ" + this._alpha);


if(this._alpha == 0){
trace("完了")
delete this.onEnterFrame;
}
}

mc.onRelease = function(){
this.onEnterFrame = AlphaOFF;
}

//////////////////////////////////////////////////////////
ニノミヤ カズノリ
Åê¹ÆNo.37652
投稿日時: 2008-2-18 13:49
職人
居住地: 東京
投稿: 430
使用環境:
CS4
.4.11, .5.7
XP Pro(sp3)
Flash Player 10,0,22,87,
AIR 1.5.1,
IE 5.5 & 6 & 7 & 8,
Firefox 2.0.0.20 & 3.0.11 & 3.5,
Opera 9.64,
Safari 4,
Google Chrome 2.0.172.31,
Netscape 7.1
Re: Math.floorで小数点が帰ってくる
Math.floorで小数点が返って来ているのでしょうか?
function AlphaOFF(){
    trace("AlphaOFF実行中");

    this._alpha +=Math.floor(0-this._alpha/3);

    trace(Math.floor(0-this._alpha/3));
    trace("アルファ" + this._alpha);

    
    if(this._alpha == 0){
        trace("完了")
        delete this.onEnterFrame;
    }
}

mc.onRelease = function(){
    this.onEnterFrame = AlphaOFF;
}

こちらが参考になるかと思います。
浮動小数点の演算について
_alphaについての問題点も書かれています。
野中文雄
Åê¹ÆNo.37653
投稿日時: 2008-2-18 14:00
ちょんまげら
居住地: 東京
投稿: 4531
使用環境:
CS5.5 .6.8 Vista Home Premium (SP1)
Re: Math.floorで小数点が帰ってくる
仕様です。MovieClip._alphaプロパティは、1/256を単位とします。つまり、小数値が基本で、整数は半端な値を意味します。
引用:
murakamiさんは書きました:
AlphaOFFの関数を実行すると本当は切り捨てられていないといけないアルファの値が小数点を引っさげて帰ってきます。。
...[中略]...
this._alpha +=Math.floor(0-this._alpha/3);

trace("アルファ" + this._alpha);


----------------
 

murakami
Åê¹ÆNo.37655
投稿日時: 2008-2-18 14:19
新米
居住地:
投稿: 2
使用環境:
WinXP,Flash CS3
Re: Math.floorで小数点が帰ってくる
野中文雄 様
ニノミヤ カズノリ 様

ご返信ありがとうございます。
なるほどぉ?仕様だったのですね
とても勉強になりました!

状況によってifの部分が動作しないことがありまして、、、
他の方法で考えてみます!

ありがとうございました!
スレッド表示 | 新しいものから 前のトピック | 次のトピック | トップ

投稿するにはまず登録を
 
Copyright (C) 2003 FLASH-japan. All rights reserved.
Powered by Xoops