2008年12月アーカイブ

先日購入したCS4。
本日はDreamweaverのレビューです。

20081225005.jpg


Dreamweaverのライブビュー、デザインビューのレンダリングの改善で、
wktk!かと思いきや、まだまだ表示にバグが残りまくり&ライブビュー重!です。

ドキュメントにリンクされたファイル表示機能で、かなり作業が楽になりました。

サイト定義しようとすると固まるのですが、待ってると復活しますw
これはCS3のときも出てましたが、よりひどいです。

PSDデータとの連動はまだ使ってませんが、
コーディング作業に集中しているときはスライス切って、コードから入れたほうが早い気もします。

その他新機能の解説は以下サイトにて紹介されています。
http://tv.adobe.com/jp/#pd+Dreamweaver


で、

冬休みの宿題はPHP+MySQLの勉強と設定しまして、
Dreamweaverで早速環境設定をしてみた。

いい加減PHPもちゃんとやらなきゃいかんだろう、、、
MySQLもMTから使うだけとかだめでしょ、、、
Smartyはやっぱりやっぱりめんどくさそうだけど、MTタグの概念があるのですんなりいくかな。

なんて考えながら、、

詳細なPHP+MySQL+Subversion環境設定は↓
巷のFlasherさんの間ではやりの(?) wonderfl
ポートフォリオにいいですね。
ほかの方のソースも見れるし、フォローして改造したり楽しげです。

さっそく投稿してみました。
PC内にあったとりあえず動くasですが、、

またCS4といい、これでまたflashの進化が加速しそうです。


まともに書ける言語がAS3だけなのだが、
バイト先の師匠から「Javaの格言」という本を貸して頂いた。

第一章、二章を読んで、オブジェクト指向について自分がいかに無知であるか思い知らされた。

さらにJavaはAS3よりもかなり厳格なコーディングができるみたい。
というかAS3でのその実装法が俺にはわからないだけかも。

勉強することがさらに増えたぜ、、
package {
  import flash.display.DisplayObjectContainer;
  import flash.display.Sprite;
  import flash.geom.Point;
  
  public class Polygon extends Sprite{
    private var pointArr:Array;
    private var _numPoint:uint;
    private var _r:Number;
    
    /**
     * 多角形の頂点のポイントを算出する。
     * 
     * @param  numPoint  : uint    頂点数
     * @param  r    : Number  多角形図形の半径
     */
    public function Polygon(numPoint:uint, r:Number) {
      _numPoint = numPoint;
      _r = r
      
      var theta:Number = (360 / _numPoint)*(Math.PI/180);
      pointArr = new Array();
      for (var i:uint = 0; i < _numPoint; i++) {
        var pt:Point = Point.polar(_r, theta * i);
        pointArr.push(pt);  
      }
      this.rotation -= 90;
    }
    
    /**
     * 各頂点を描画
     * 
     * @param  type    : String  "circle" or "rect"
     * @param  size    : Number  点の大きさ
     * @param  color    : uint    点の色
     * @param  alpha    : Number  点のの不透明度
     */
    public function setPoitsGrahics(type:String = "circle", size:Number = 3, color:uint = 0x0099ff, alpha:Number = 1):void {
      graphics.endFill();
      graphics.lineStyle();
      graphics.beginFill(color, alpha);
      for (var i:uint = 0; i < _numPoint; i++) {
        switch(type) {
          case "circle"  :
            graphics.drawCircle(pointArr[i].x, pointArr[i].y, size);
            break;
          case "rect"    :
            graphics.drawCircle(pointArr[i].x -size/2, pointArr[i].y -size / 2, size);
            break;
        }
      }
      graphics.endFill();
    }
    
    /**
     * 原点から各頂点への直線を描画
     * 
     * @param  size    : Number  線幅
     * @param  color    : uint    線色
     * @param  alpha    : Number  線の不透明度
     */
    public function setP20LineGrahics(size:Number = 1, color:uint = 0x0099ff, alpha:Number = 1):void {
      graphics.endFill();
      graphics.lineStyle(size, color, alpha);
      for (var i:uint = 0; i < _numPoint; i++) {
        graphics.moveTo(0, 0);
        graphics.lineTo(pointArr[i].x, pointArr[i].y);
      }
      graphics.lineStyle();
    }
    /**
     * 各頂点間の直線を描画
     * 
     * @param  size    : Number  線幅
     * @param  color    : uint    線色
     * @param  alpha    : Number  線の不透明度
     */
    public function setP2PLineGrahics(size:Number = 1, color:uint = 0x0099ff, alpha:Number = 1):void {
      graphics.endFill();
      graphics.lineStyle(size, color, alpha);
      graphics.moveTo(pointArr[0].x, pointArr[0].y);
      for (var i:uint = 1; i < _numPoint; i++) {
        graphics.lineTo(pointArr[i].x, pointArr[i].y);
      }
      graphics.lineTo(pointArr[0].x, pointArr[0].y);
      graphics.lineStyle();
    }
    
    /**
     * レーダーチャートの目盛りを描画
     * 
     * @param  partition  : uint    分割数
     * @param  size    : Number  線幅
     * @param  color    : uint    線色
     * @param  alpha    : Number  線の不透明度
     */
    public function setScaler(partition:uint,size:Number = 1,color:uint = 0x0099ff, alpha:Number = 0.5):void {
      var dp:Number = _r / partition;
      var dpdef:Number = dp;
      
      graphics.endFill();
      graphics.lineStyle(size, color, alpha);
      
      while (dp < _r) {
        var ptArr:Array = new Array();
        for (var i:uint = 0; i < _numPoint; i++) {
          var pt:Point = pointArr[i];
          pt.normalize(dp);
          ptArr.push(pt);  
        }
        
        graphics.moveTo(ptArr[0].x, ptArr[0].y);
        for (i= 1; i < _numPoint; i++) {
          graphics.lineTo(ptArr[i].x, ptArr[i].y);
        }
        graphics.lineTo(ptArr[0].x, ptArr[0].y);
        
        dp += dpdef;
      }
      
      graphics.lineStyle();
    }

  }

}