In case Flash no longer exists; a copy of this site is included in the Flashpoint archive's "ultimate" collection.

Dead Code Preservation :: Archived AS3 works from wonderfl.net

forked from: ブラジャーのカップ簡易計算機

ブラジャーのカップ簡易計算機

Base64の画像埋め込みをやりたかったのと、
昔懐かしのFLASH「伺かバスト占いの歌」を発見してしまったがために
勢いで作ってみました。
(これを知っているかどうかが年代の分水嶺的な)

すいません、なんか馬鹿なことをやってみたかったんです・・・。

あくまで目安ですので、差が9.9とかでもAAに認定されます。
あくまで参考までに、ということで。
実際は付けないと、どれが合うかというのは解らないものだそうな。

バストが好きな人は、これを機会に
ブラジャーについて学んでみるのもいいんじゃないかと
思います。女性の気持ちが少し解るかも解らないかも。
興味がある人は調べてみて、女性に思いをはせてみましょう。
変態になるか、女性の味方になるかはあなた次第。

最後に一言。
「女の人を胸で判断することはよくないことですよ」
(伺かバスト占いの歌)
// forked from Hiiragi's ブラジャーのカップ簡易計算機
package 
{
    /*
     * ブラジャーのカップ簡易計算機
     * 
     * Base64の画像埋め込みをやりたかったのと、
     * 昔懐かしのFLASH「伺かバスト占いの歌」を発見してしまったがために
     * 勢いで作ってみました。
     * (これを知っているかどうかが年代の分水嶺的な)
     * 
     * すいません、なんか馬鹿なことをやってみたかったんです・・・。
     * 
     * あくまで目安ですので、差が9.9とかでもAAに認定されます。
     * あくまで参考までに、ということで。
     * 実際は付けないと、どれが合うかというのは解らないものだそうな。
     * 
     * バストが好きな人は、これを機会に
     * ブラジャーについて学んでみるのもいいんじゃないかと
     * 思います。女性の気持ちが少し解るかも解らないかも。
     * 興味がある人は調べてみて、女性に思いをはせてみましょう。
     * 変態になるか、女性の味方になるかはあなた次第。
     * 
     * 最後に一言。
     * 「女の人を胸で判断することはよくないことですよ」
     * (伺かバスト占いの歌)
     * 
     */
    
    import flash.display.Sprite;
    import flash.events.Event;
    import flash.events.MouseEvent;
    import flash.text.TextField;
    import flash.text.TextFormat;
    import flash.text.FontStyle;
    import flash.text.TextFieldAutoSize;
    import flash.text.TextFieldType;
    import flash.text.TextFormatAlign;
    import flash.display.Loader;
    
    [SWF(width = 465 , height = 465, frameRate = 30, backgroundColor = 0xFFFFFF)]
    
    public class Main extends Sprite 
    {
        private var cupArray:Array = ["AA", "A", "B", "C", "D", "E", "F", "G", "H", "I", "J", "K", "L", "M", "N", "O", "P", "Q","R","S","T","U","V","W","X","Y","Z"];
        
        private var txt1:TextField = new TextField();
        private var txt2:TextField = new TextField();
        private var resultTxt:TextField = new TextField();
        private var errorTxt:TextField = new TextField();
        private var inputTxt1:TextField = new TextField();
        private var inputTxt2:TextField = new TextField();
        
        private var slider1Min:Number = 62.5;
        private var slider1Max:Number = 130;
        private var slider2Min:Number = 62.5;
        private var slider2Max:Number = 130;
        
        private var slider1:slider = new slider(400, 20, slider1Max, slider1Min, stage);
        private var slider2:slider = new slider(400, 20, slider2Max, slider2Min, stage);
        

        
        private var btn:Sprite = new Sprite();
        

        
        public function Main():void 
        {
            if (stage) init();
            else addEventListener(Event.ADDED_TO_STAGE, init);
        }
        
        private function init(e:Event = null):void 
        {
            removeEventListener(Event.ADDED_TO_STAGE, init);
            
            //backgroundImage
            var base64Str:String = "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";
            var display:Loader = base64Loader.load(base64Str);
            display.y = 150;
            if (display != null) addChild(display);
            
            
            txt1.defaultTextFormat = new TextFormat(null, 20, 0x555555, FontStyle.BOLD);
            txt1.x = 5;
            txt1.y = 0;
            txt1.text = "TopBust :";
            txt1.autoSize = TextFieldAutoSize.LEFT;
            txt1.selectable = false;
            addChild(txt1);
            
            txt2.defaultTextFormat = new TextFormat(null, 20, 0x555555, FontStyle.BOLD);
            txt2.x = 5;
            txt2.y = 65;
            txt2.text = "UnderBust : ";
            txt2.autoSize = TextFieldAutoSize.LEFT;
            txt2.selectable = false;
            addChild(txt2);
            
            resultTxt.x = 0;
            resultTxt.y = 400;
            resultTxt.width = 465;
            resultTxt.height = 60;
            resultTxt.defaultTextFormat = new TextFormat(null, 35, 0x555555, FontStyle.BOLD, null, null, null, null, TextFormatAlign.RIGHT);
            addChild(resultTxt);
            
            errorTxt.defaultTextFormat = new TextFormat(null, 15, 0xFF0000, null, null, null, null, null, TextFormatAlign.RIGHT);
            //errorTxt.text = "(error text)";
            errorTxt.x = 0;
            errorTxt.y = 380;
            errorTxt.width = 465;
            errorTxt.height = 50;
            addChild(errorTxt);

            addChild(slider1);
            slider1.addEventListener(slider.SLIDE, calc);
            slider1.x = 40;
            slider1.y = 30;
            
            addChild(slider2);
            slider2.addEventListener(slider.SLIDE, calc);
            slider2.x = 40;
            slider2.y = 90;
            
            slider1.position = 84;
            slider2.scalePosition = .1;
            
            calc();
        }

        private function calc(e:Event = null):void {
            txt1.text = "TopBust : " + slider1.position;
            txt2.text = "UnderBust : " + slider2.position;
            
            if (slider1.position > slider2.position) {
                var topBust:Number = slider1.position;
                var underBust:Number = slider2.position;
                
                var diff:Number = topBust - underBust - 7.5;
                if (diff < 0) diff = 0;
                
                var index:uint = Math.floor(diff / 2.5);
                if (index < cupArray.length) {
                    var size:String = cupArray[index] + Math.floor((underBust + 2.5) / 5) * 5;
                    resultTxt.text = "var fitSize:BustCup = " + size + ";";
                    errorTxt.text = "";
                } else {
                resultTxt.text = "Error";
                errorTxt.text = "Zカップより上は設定してないんで、エラーにしておきます。";
                }
            } else {
                resultTxt.text = "Error";
                errorTxt.text = "いや、アンダーがトップを超える・・・それはないんじゃないかな・・・";
            }
        }
        
    }
    
}


//http://wonderfl.kayac.com/code/3803bdc5868d2a66bd81b7228053ea60b34f0a06
//をかなり参考にしました。というかそのままです。

import flash.display.DisplayObject;
import flash.display.DisplayObjectContainer; 
import flash.display.Loader; 
import flash.events.Event;
import flash.events.MouseEvent;
import flash.geom.Point;
import flash.geom.Rectangle;
import flash.utils.ByteArray; 
import mx.utils.Base64Decoder; 

internal class base64Loader {
    
    
    public static function load(data:String):Loader {
        
        var byteArray:ByteArray; 
        var decorder:Base64Decoder = new Base64Decoder();
        var loader:Loader = new Loader;
        
        decorder.decode(data);
        
        try {
            byteArray = decorder.toByteArray();
            byteArray.position = 0; 
        } catch(e:Error) {
            return null;
        }
        
        loader.loadBytes(byteArray);
        
        return loader;
    }
    
}


//sliderクラス。もうちょっと汎用的にしたい。
//あとグラフィックも、もうちょっと凝りたい。

import flash.display.Sprite;
import flash.text.TextField;
import flash.text.TextFieldAutoSize;
import flash.text.TextFormat;

internal class slider extends Sprite {
    
    public static const SLIDE:String = "slide";
    
    private var _drag:Boolean = false;
    private var _rollOverFlag:Boolean = false;
    
    private var _w:Number;
    private var _h:Number;
    
    private var _position:Number;
    private var _scalePosition:Number;
    private var _positionMax:Number;
    private var _positionMin:Number;
    
    private    var sliderA:Sprite = new Sprite();
    private var sliderB:Sprite = new Sprite();
    private var toolTip:Sprite = new Sprite();
    private var toolTipBG:Sprite = new Sprite();
    private var toolTipTxt:TextField = new TextField();
    
    public function slider(w:Number, h:Number, max:Number, min:Number, dObj:DisplayObject) {
        _w = w;
        _h = h;
        _positionMax = max;
        _positionMin = min;
        
        //スライダーの溝を描画
        sliderA.graphics.lineStyle(2, 0x555555);
        sliderA.graphics.moveTo(0, _h / 2);
        sliderA.graphics.lineTo(_w, _h / 2);
        
        addChild(sliderA);
        
        //パラメータの最大値最小値を書いておく
        var txt1:TextField = new TextField();
        txt1.defaultTextFormat = new TextFormat(null, null, 0xAAAAAA);
        txt1.text = _positionMax.toString();
        txt1.autoSize = TextFieldAutoSize.LEFT;
        txt1.selectable = false;
        txt1.x = _w - txt1.width / 2;
        txt1.y = _h / 2;
        addChild(txt1);
        
        var txt2:TextField = new TextField();
        txt2.defaultTextFormat = new TextFormat(null, null, 0xAAAAAA);
        txt2.text = _positionMin.toString();
        txt2.autoSize = TextFieldAutoSize.LEFT;
        txt2.selectable = false;
        txt2.x = -txt1.width / 2;
        txt2.y = _h / 2;
        addChild(txt2);
        
        //スライダーのツマミを描画
        sliderB.graphics.beginFill(0x000000);
        sliderB.graphics.drawRoundRect(-5, 0, 10, h, 5);
        sliderB.graphics.endFill();
        sliderB.buttonMode = true;
        
        addChild(sliderB);
        
        //ツールチップを描画
        var tf:TextFormat = new TextFormat();
        tf.color = 0xFFFFFF;
        tf.leftMargin = 5;
        tf.rightMargin = 5;
        toolTipTxt.defaultTextFormat = tf;
        toolTipTxt.autoSize = TextFieldAutoSize.LEFT;
        toolTipTxt.selectable = false;

        
        toolTip.addChild(toolTipBG);
        toolTip.addChild(toolTipTxt);
        addChild(toolTip);
        toolTip.visible = false;
        
        //addEventListener
        sliderB.addEventListener(MouseEvent.MOUSE_DOWN, onMouseDownHandler);
        dObj.addEventListener(MouseEvent.MOUSE_UP, onMouseUpHandler);
        dObj.addEventListener(MouseEvent.MOUSE_MOVE, onMouseMoveHandler);
        sliderB.addEventListener(MouseEvent.MOUSE_OVER, onMouseOverHandler);
        sliderB.addEventListener(MouseEvent.MOUSE_OUT, onMouseOutHandler);
        
        _scalePosition = this.scalePosition;
        _position = this.position;
    }
    
    private function onMouseMoveHandler(e:MouseEvent = null):void 
    {

        
        if (_drag) {
            _scalePosition = this.scalePosition;
            _position = this.position;
            dispatchEvent(new Event(SLIDE));
        }
        
        if (_rollOverFlag) showPosition(new Point(e.stageX, e.stageY));
    }
    
    private function onMouseDownHandler(e:MouseEvent):void 
    {
        _drag = true;
        e.target.startDrag(false,new Rectangle(0,0,_w,0));
    }
    
    private function onMouseUpHandler(e:MouseEvent):void 
    {
        _drag = false;
        _rollOverFlag = false;
        toolTip.visible = false;
        sliderB.stopDrag();
    }
    
    private function onMouseOverHandler(e:MouseEvent):void 
    {
        _rollOverFlag = true;
        toolTip.visible = true;
        
        showPosition(new Point(e.stageX, e.stageY));
    }
    
    private function showPosition(arg1:Point):void 
    {
        var pt:Point = globalToLocal(arg1);
        
        toolTip.x = pt.x + 15;
        toolTip.y = pt.y;
        
        toolTipTxt.text = "value = " + _position;
        toolTipBG.graphics.clear();
        toolTipBG.graphics.beginFill(0x000000, .5);
        toolTipBG.graphics.drawRoundRect(0, -5, toolTipTxt.width, toolTipTxt.height+10, 10);
        toolTipBG.graphics.endFill();
    }
    
    private function onMouseOutHandler(e:MouseEvent):void 
    {
        if (!_drag) {
            _rollOverFlag = false;
            toolTip.visible = false;
        }

    }
    

    
    
    
    
    //get/set
    public function get position():Number {
        _scalePosition = this.scalePosition;
        return (_positionMax - _positionMin) * _scalePosition + _positionMin;
    }
    
    public function set position(pos:Number):void {
        _position = pos;
        _scalePosition = (_position - _positionMin) / (_positionMax - _positionMin);
        sliderB.x = _w * _scalePosition;
    }
    
    public function get scalePosition():Number {
        _scalePosition = sliderB.x / _w;
        return _scalePosition;
    }
    
    public function set scalePosition(posScale:Number):void {
        _scalePosition = posScale;
        _position = (_positionMax - _positionMin) * _scalePosition + _positionMin;
        sliderB.x = _w * _scalePosition;
    }

    
}