2

「Month 2 Week 3」または「Month 8 Week 2」の形式で右にスライドすると、年間の週と月を表示する Slider を含む Actionscript 3 でプログラムを作成しています。私はこのような月をやった: function monthHandler(){

var a:Number = ((Math.ceil(aSlider.value/4))+1);
monthLabel.text = "Month" + String(a);

}

ただし、同じスライダー (aSlider) については、月ごとに 4 週間まで表示したいと考えています。基本的に数値のしきい値を設定する必要があることはわかっています。値 1 ~ 4 は週 1 ~ 4 を表示しますが、値 5 ~ 8 は週 1 ~ 4 も表示する必要があります。

If() ループのクラプトンを使用してこれを行うことができることは知っていますが、プログラミングに比較的慣れていないため、これを行うより効率的な方法があり、それを知らないだけだと思います。数値の倍数を確認し、数値のしきい値を設定するために Web を見回しましたが、私の問題に適したものはないようです。

週の現在のコードは次のとおりです。

function weekHandler(){
var b:Number = ((Math.ceil(aSlider.value/12))+1);
weekLabel.text = "Week:" + String(b);
}

これが行うことは、スライダーを四分の一にスライドさせて 1 ~ 4 を表示することだけです。私が言ったように、私はこれがうまくいかないことを知っていますが、それを修正するために何をすべきかわかりません.

4

2 に答える 2

1

基本的に、必要なコードは次のとおりです。

var a:Number = (Math.ceil(aSlider.value) % 4) +1;
weekLabel.text = "Week" + String(a);

a%b=aの余りをbで割ったもの。

それ以外の場合は、計算するために多くの「if()」は必要ありません。

<=を使用できます(a - Math.floor(a/b)*b)が、使用しないでください。a%b

于 2012-07-03T05:10:37.180 に答える
0

スライダーが12か月、1か月あたり4週間だったと仮定します。

月:

var months:int = (int)(dateSlider.value / 4);

週:

var weeks:int = (dateSlider.value % 4) + 1;

フラッシュの例:

フラッシュスライダー

dateSliderFlashコンポーネントがある場合:

flash-date-slider

dateText次のようなラベルを更新できます。

import fl.events.SliderEvent;

dateSlider.addEventListener(SliderEvent.CHANGE, sliderChangeHandler);

function sliderChangeHandler(event:SliderEvent):void
{
    dateText.text = "Month: " + (int)(event.value / 4) + " " +
                    "Week: " + ((event.value % 4) + 1);
}


フレックスの例:

月-0 6か月目 12か月目

<?xml version="1.0" encoding="utf-8"?>
<s:Application xmlns:fx="http://ns.adobe.com/mxml/2009"
               xmlns:s="library://ns.adobe.com/flex/spark"
               xmlns:mx="library://ns.adobe.com/flex/mx">

    <s:layout>
        <s:VerticalLayout />
    </s:layout>

    <s:Label text="Month: {(int)(dateSlider.value / 4)} Week: {(dateSlider.value % 4) + 1}" />

    <s:HSlider id="dateSlider"
               maximum="{(13 * 4) - 1}"
               snapInterval="1"
               stepSize="1" />

</s:Application>

1か月あたりの実際の週数は4.34812であるため、この日付の解釈は初歩的なものに見えることに注意してください。

日付の期間を明示的に計算すると便利です。

于 2012-07-03T05:12:38.983 に答える