Changeset 14260

Show
Ignore:
Timestamp:
06/19/08 20:40:42 (5 years ago)
Author:
suztomo
Message:

lang/actionscript/FPazzle : change to use Flickr API

Location:
lang/actionscript/FPazzle/trunk/src
Files:
1 added
5 modified

Legend:

Unmodified
Added
Removed
  • lang/actionscript/FPazzle/trunk/src/FPazzle.css

    r13825 r14260  
    1111        paddingBottom: 5; 
    1212} 
     13 
     14.keyword 
     15{ 
     16        paddingTop: 20; 
     17        paddingLeft: 20; 
     18        fontSize: 20; 
     19        focusAlpha: 0.2; 
     20} 
     21 
  • lang/actionscript/FPazzle/trunk/src/FPazzle.mxml

    r14253 r14260  
    11<?xml version="1.0" encoding="utf-8"?> 
    2 <mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute" applicationComplete="init();"> 
     2<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute" applicationComplete=""> 
    33        <mx:Script> 
    44                <![CDATA[ 
     5                import com.adobe.webapis.flickr.*; 
     6                import com.adobe.webapis.flickr.events.*; 
     7                import com.adobe.webapis.flickr.methodgroups.*; 
    58                import mx.core.UIComponent; 
    69                import net.suztomo.FPazzle.*; 
    710 
     11                private var fls:FlickrService; 
     12                private var loader:Loader; 
     13                private var photo:Photos; 
     14                private var img:BitmapData; 
    815 
    9                 public function init():void { 
    10                         var container:FBoard = new FBoard(2, 2); 
    11                         addChild(container); 
     16                private var board:FBoard; 
     17                public function init():void {} 
     18                 
     19                public function start():void { 
     20/*                      board = new FBoard(2, 2); 
     21                        addChild(board); 
    1222 
    13                         container.createPieces(); 
     23                        board.createPieces(); 
     24*/ 
     25                        var flc:FlickrConnector = new FlickrConnector(); 
     26                        var keyword:String = keyword.text; 
     27                        flc.loadImage(keyword, 0); 
     28                        flc.loader.contentLoaderInfo.addEventListener(Event.COMPLETE, onFlickrImageComplete); 
     29                         
     30                } 
     31 
     32                public function onFlickrImageComplete(event:Event): void 
     33                { 
     34                        img = event.target.content.bitmapData; 
     35                        board = new FBoard(2, 2, img); 
     36                        addChild(board); 
     37                        board.createPieces(); 
     38                } 
     39 
     40                private function onSearchFocus():void 
     41                { 
     42                        keyword.text = ""; 
     43                } 
     44                private function onSearchLeave():void 
     45                { 
     46                        if (keyword.text.length < 2) 
     47                        keyword.text="Enter Keyword"; 
    1448                } 
    1549 
     
    1751        </mx:Script> 
    1852 
     53        <mx:HBox styleName="keyword"> 
     54                <mx:TextInput id="keyword" styleName="input" text="keyword" focusIn='keyword.text="";' focusOut="onSearchLeave();" /> 
     55                <mx:Button id="keywordSubmit" label="Search" click="start();" /> 
     56        </mx:HBox> 
     57 
     58 
    1959        <mx:Style source="FPazzle.css"/> 
    2060</mx:Application> 
  • lang/actionscript/FPazzle/trunk/src/net/suztomo/FPazzle/FBoard.as

    r14253 r14260  
    1616                public var pieces:PazzleMap; 
    1717 
    18                 public function FBoard(_x_num:uint, _y_num:uint) 
     18                public function FBoard(_x_num:uint, _y_num:uint, _pazzleImage:BitmapData = null) 
    1919                { 
    2020                        x_num = _x_num; 
    2121                        y_num = _y_num; 
     22                        pazzleImage = _pazzleImage; 
     23 
    2224                        setPazzleImage(); 
     25 
    2326                        p_width = pazzleImage.width / x_num; 
    2427                        p_height = pazzleImage.height / y_num; 
     
    3033                public function setPazzleImage() :void 
    3134                { 
    32                         var img:Bitmap = new EmbedImage() as Bitmap; 
    33                         pazzleImage = img.bitmapData; 
     35                        if (pazzleImage == null) { 
     36                                var img:Bitmap = new EmbedImage() as Bitmap; 
     37                                pazzleImage = img.bitmapData; 
     38                        } 
    3439                } 
    3540 
     
    8792                        return true; 
    8893                } 
     94                 
     95                public function deactivate():void 
     96                { 
     97                        for (var i:uint=0; i<pieces.length; i++) { 
     98                                pieces.getInline(i).deactivate(); 
     99                        } 
     100                } 
    89101        } 
    90102} 
  • lang/actionscript/FPazzle/trunk/src/net/suztomo/FPazzle/FPiece.as

    r14253 r14260  
    11package net.suztomo.FPazzle 
    22{ 
    3         import mx.controls.*; 
    43        import flash.display.*; 
    54        import flash.events.*; 
     5         
     6        import mx.controls.*; 
    67 
    78        public class FPiece extends Sprite 
     
    1516                private var x_index:uint, y_index:uint; 
    1617                private var board:FBoard; 
     18                private var whiteMask:Sprite; 
     19                private var counter:Number = 400; 
    1720 
    1821                public function FPiece(_pieceImage:BitmapData, _p_width:Number, _p_height:Number, _x_index:uint = 0, _y_index:uint = 0) 
     
    2629                        y_index = _y_index; 
    2730 
    28                         addEventListener(MouseEvent.MOUSE_DOWN, onClick); 
    29                         addEventListener(MouseEvent.MOUSE_UP, onRelese); 
    30                         addEventListener(Event.ADDED, onAdded); 
    31 /* 
    32                         graphics.beginFill(0x551199, 1); 
    33                         graphics.drawRect(- p_width/2, - p_height/2, p_width, p_height);*/ 
     31                        whiteMask = new Sprite(); 
     32                        whiteMask.graphics.beginFill(0xFFFFFF, 1.0); 
     33                        whiteMask.graphics.drawRect(- p_width/2, - p_height/2, p_width, p_height); 
     34 
    3435                        //addChild(new RotateController(this)); 
    3536                        setPazzleImage(); 
     37 
     38                        addChild(whiteMask); 
     39 
     40                        activate(); 
     41                        addEventListener(Event.ADDED, onAdded); 
    3642 
    3743                } 
     
    6773                        if (board.isAnswer()) { 
    6874                                Alert.show("Completed"); 
     75                                board.deactivate(); 
    6976                        } 
    7077                } 
     
    7986                        var diff_x:Number; 
    8087                        var diff_y:Number; 
    81                         var x_snap:Number; 
    82                         var y_snap:Number; 
     88                        var x_snap:Number, y_snap:Number; 
    8389 
    8490                        for (i=0; i<board.numChildren; i++) { 
     
    8692                                x_snap = 0; 
    8793                                y_snap = 0; 
    88                                  
     94                                                                 
    8995                                 
    9096                                if (tmp != this) { 
     
    107113                } 
    108114                 
     115                public function deactivate():void 
     116                { 
     117                        removeEventListener(MouseEvent.MOUSE_DOWN, onClick); 
     118                        removeEventListener(MouseEvent.MOUSE_UP, onRelese); 
     119                        setChildIndex(whiteMask, numChildren-1); 
     120                        whiteMask.alpha = 0.0; 
     121                        addEventListener(Event.ENTER_FRAME, becomeWhite); 
     122                } 
     123                public function activate():void 
     124                { 
     125                        addEventListener(MouseEvent.MOUSE_DOWN, onClick); 
     126                        addEventListener(MouseEvent.MOUSE_UP, onRelese); 
     127                        setChildIndex(whiteMask, numChildren-1); 
     128                        whiteMask.alpha = 0.0; 
     129                } 
     130                 
     131                private function becomeWhite(event:Event):void 
     132                { 
     133                        if (counter < 50) { 
     134                                whiteMask.alpha = 0.5; 
     135                                removeEventListener(Event.ENTER_FRAME, becomeWhite); 
     136                        } 
     137                        if (counter < 100) { 
     138                                whiteMask.alpha = (100 - counter) / 100; 
     139                        } 
     140                        counter -= 5; 
     141                } 
    109142        } 
    110143} 
  • lang/actionscript/FPazzle/trunk/src/net/suztomo/FPazzle/PazzleMap.as

    r14253 r14260  
    2727                        return ary[x_size * _y + _x]; 
    2828                } 
     29                 
     30                public function getInline(index:uint):Object 
     31                { 
     32                        return ary[index]; 
     33                } 
    2934        } 
    3035}