忍者ブログ

Noracorn Try And Error Programサバサバと働くITエンジニア。忘れやすい頭からサラサラと流れ落ちる情報を、書き留めるブログです。

[PR]

×

[PR]上記の広告は3ヶ月以上新規記事投稿のないブログに表示されています。新しい記事を書く事で広告が消えます。

アマゾンの新WEBサービス

product advertising api対応
ここがわかりやすかった。サンプルとか。参考になりました。ありがとう。
http://www.atmarkit.co.jp/fwcr/special/javatoflex/javatoflex_3.html

拍手[0回]

PR

画像を分割して表示する

画像を分割にロードして表示する
5×5

<?xml version="1.0" encoding="utf-8"?>
<mx:Application
 xmlns:mx="http://www.adobe.com/2006/mxml"
 layout="absolute"
 creationComplete="init()">
 <mx:Image
  id="dispRect"
  width="100%"
  height="100%"/>
 <mx:Script>
  <![CDATA[
   import mx.controls.Alert;
   [Bindable]
   [Embed("assets/top.PNG")]
   private var imgClass:Class;
   
   private function init():void{
    var mainData:Bitmap = new imgClass();
    var row:Number = 5;
    var col:Number = 5;
    var pieceWidth:Number = mainData.width / col;
    var pieceHeight:Number = mainData.height / row;
    var padding:Number = 20;
    
    for (var rowCount:Number=0; rowCount<row; rowCount++){
     for (var colCount:Number=0; colCount<col; colCount++){
      var partBitmap:Bitmap = new Bitmap(new BitmapData(pieceWidth, pieceHeight));
      partBitmap.bitmapData.copyPixels(mainData.bitmapData,
       new Rectangle(rowCount * pieceWidth, colCount * pieceHeight, pieceWidth, pieceHeight), new Point(0, 0));
      var partSprite:Sprite = new Sprite();
      partSprite.addChild(partBitmap);
      
      var baseImage:Image = new Image();
      baseImage.width = pieceWidth;
      baseImage.height = pieceHeight;
      baseImage.x = rowCount * (pieceWidth + padding) + 20;
      baseImage.y = colCount * (pieceHeight + padding) + 20;
      baseImage.addChild(partSprite);
      
      baseImage.addEventListener(MouseEvent.CLICK, clickHandler);
      dispRect.addChild(baseImage);
     }
    }
   }
   
   private function clickHandler(event:MouseEvent):void{
    Alert.show("test");
   }
  ]]>
 </mx:Script>
</mx:Application>

拍手[0回]

PNGをBitmapDataとして読み込む

PNGをBitmapDataとして読み込んで表示する

<?xml version="1.0" encoding="utf-8"?>
<mx:Application
 xmlns:mx="http://www.adobe.com/2006/mxml"
 layout="absolute"
 creationComplete="init()">
 <mx:Image
  id="dispRect"
  width="100%"
  height="100%"/>
 <mx:Script>
  <![CDATA[
   [Bindable]
   [Embed("assets/top.PNG")]
   private var img:Class;
   
   private function init():void{
    var mainData:Bitmap = new img();
    dispRect.graphics.beginBitmapFill( mainData.bitmapData );     
    dispRect.graphics.drawRect(0, 0, mainData.width, mainData.height);  
    dispRect.graphics.endFill(); 
   }
  ]]>
 </mx:Script>
</mx:Application>

拍手[0回]

ドラッグ中イベント取得!

<?xml version="1.0" encoding="utf-8"?>
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute" xmlns:objecthandles="com.roguedevelopment.objecthandles.*" xmlns:kapit="fr.kapit.*" xmlns:component="component.*">
 <mx:Script>
  <![CDATA[
   import mx.controls.Alert;
   import mx.utils.StringUtil;
   import com.flexspy.FlexSpy;
   import mx.events.DragEvent;
   private var num:int;
   private var dragFlg:Boolean;
   private function init():void{
    titleWindow.addEventListener(MouseEvent.MOUSE_DOWN, dragWindow);
    titleWindow.addEventListener(MouseEvent.MOUSE_UP, dragWindow);
    var titleText:DisplayObject = titleWindow.getTitleText();
    var title:TextField = titleText as TextField;
    title.addEventListener(MouseEvent.MOUSE_MOVE, traceMessage);
   }

   private function dragWindow(event:MouseEvent):void{
    if (event.type == MouseEvent.MOUSE_DOWN){
     titleWindow.startDrag();
     dragFlg = true;
    }else{
     titleWindow.stopDrag();
     dragFlg = false;
    }
   }
   
   private function traceMessage(event:MouseEvent):void{
    if (dragFlg == true){
     trace("ドラッグ中");
    }
   }
  ]]>
 </mx:Script>
 <component:DragWindow
  id="titleWindow"
  width="300"
  height="300"
  title="hoge"
  creationComplete="init()"/>
 <kapit:KapInspect/>
</mx:Application>

-- カスタムウィンドウ
package component{

 import flash.display.DisplayObject;
 
 import mx.containers.TitleWindow;
 import mx.core.UITextField;

 public class DragWindow extends TitleWindow{
  public function getTitleText():DisplayObject{
   var field:DisplayObject = titleTextField as DisplayObject;
   return field;
  }
 }
}

拍手[0回]

円周に点を打ちたい

試作?思索?テスト用プログラム

<?xml version="1.0" encoding="utf-8"?>
<mx:Application
 xmlns:mx="http://www.adobe.com/2006/mxml"
 layout="absolute"
 applicationComplete="init()">
 <mx:Script>
  <![CDATA[
   import mx.formatters.NumberBaseRoundType;
   import mx.formatters.NumberBase;
   import mx.formatters.NumberFormatter;
   import mx.containers.Canvas;
   
   private function drawGraphic():void{
    // 初期化
    var graphicsCanvas:Canvas = graphicsCanvas = new Canvas();
    graphicsCanvas.id = "graphicsCanvas";
    graphicsCanvas.percentWidth = 100;
    graphicsCanvas.percentHeight = 100;
    this.addChild(graphicsCanvas);
    
    // クリア
    graphicsCanvas.graphics.clear();

    // 描画
    // 10点をつなぐ

    // 中心点
    var centerPoint:Point = new Point(Application.application.width / 2, Application.application.height / 2);
    graphicsCanvas.graphics.lineStyle(2, 0x000000);
    graphicsCanvas.graphics.moveTo(centerPoint.x, centerPoint.y);
    
    // 半径の取得
    var r:Number = new Number();
    if (Application.application.width > Application.application.height){
     r = Application.application.height / 2;
    } else {
     r = Application.application.width / 2;
    }
    
    for (var num:Number = 0; num < 10; num ++){
     // xを求める
     var nextX:Number = r * Math.tan(36 * num);
     
     // yを求める
     var nextY:Number = r * Math.sin(54 * num);
 
     graphicsCanvas.graphics.moveTo(centerPoint.x, centerPoint.y);
     graphicsCanvas.graphics.lineTo(nextX + centerPoint.x, nextY + centerPoint.y);
    }
   }
  ]]>
 </mx:Script>
 <mx:Button click="drawGraphic()" x="10" y="10" label="描画"/>
 
</mx:Application>
 

拍手[0回]

別ウインドウでブラウザを開く

Flexで別ブラウザウインドウを開く


public function open(url:String):void{
        var request:URLRequest = new URLRequest(url);
        try { 
                navigateToURL(request);
        } catch (e:Error) {
                Alert.show("失敗");
        }
}

拍手[0回]

アクションスクリプトで検索

下の方法でやると、テキスト編集して全然違う文字にしても検索が引っかかっちゃう。
なんで?

<?xml version="1.0" encoding="utf-8"?>
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute">
 <mx:Script>
  <![CDATA[
   import mx.binding.utils.BindingUtils;
   import mx.controls.Alert;
   private var serchStr1 : String = "デジタル";
   private var serchStr2 : String = "アナログ";
   private var regexStr1 : RegExp = new RegExp(serchStr1);
   private var regexStr2 : RegExp = new RegExp(serchStr2);
   [Bindable]
   private var str1 : String = "文字列";
   [Bindable]
   private var str2 : String = "デジタル";
   [Bindable]
   private var str3 : String = "アナログ";
   private function serch(str : String) : void {
    var ret1 : Object = regexStr1.exec(str);
    var ret2 : Object = regexStr2.exec(str);
    if (ret1 != null) {
     Alert.show("検索条件(アナログ)に引っかかりました。");
    } else if (ret2 != null) {
     Alert.show("検索条件(デジタル)に引っかかりました。");
    } else {
     Alert.show("どの検索条件にもひっかかりませんでした。");
    }
   }
  ]]>
 </mx:Script>
 <mx:TextArea id="moji1" text="{str1}" editable="true" />
 <mx:TextArea id="moji2" text="{str2}" editable="true" x="0" y="104"/>
 <mx:TextArea id="moji3" text="{str3}" editable="true" y="52"/>
 
 <mx:Button x="240" y="22" label="上段の文字列検索" click="serch(str1)"/>
 <mx:Button x="240" y="74" label="中段の文字列検索" click="serch(str2)" />
 <mx:Button x="240" y="126" label="下段の文字列検索" click="serch(str3)" />
</mx:Application>

拍手[0回]

| HOME |