Monday, September 28, 2009

notes after .ActionScript.3.0.in.Flash.CS3.Professional.Essential.Training(Lynda.com)


_mc.buttonMode = true; //set move clip to button mode(with pointer when mouse over)
_mc.addEventListener(MouseEvent.CLICK, onClick); //MouseEvent.ROLL_OVER ROLL_OUT
function onClick(event:MouseEvent):void { event.target.rotation += 10; }

//Keyboard
stage.addEventListener(KeyboardEvent.KEY_DOWN, jump); //removeEventListener
function jump(e:KeyboardEvent):void { trace(event.keyCode); }
var link:URLRequest = new URLRequest("http://www.google.com");
navigateToURL(link);

stage.addEventListener(Event.ENTER_FRAME, //timeline, trigger it every key frame entering.
stage.addEventListener(Event.ENTER_FRAME, //in action layler first keyframe

//timer
var t:Timer = new Timer(1000);
t.addEventListener(TimerEvent.TIMER, function (e:TimerEvent):void{ _mc.play(); } );
t.start();

//class
package todd.classes {
import flash.display.MovieClip;
import flash.events.MouseEvent;
public class CustomClass extends MovieClip {
public var _var:String;
public function CustomClass() { //no return type in constr
this.addEventListener(MouseEvent.ROLL_OVER, grow);
}
private function grow(event:MouseEvent):void { this.scaleX = 1.5; this.scaleY = 1.5; }
}
} //CustomClass.as

_MovieClip.addChild(_mc_boarder);
//Publish:Settings...
//Document class

Library->Movie Clip->Linkage->Export for Actionscript

Math.random(); Math.round(x); Math.floor(x); Math.ceil(x);

var myText:TextField = new TextField(); //addChild(myText); //myText.text = "xxx"; //.width = 15 //.autoSize = TextFieldAutoSize.LEFT;
var myFormat:TextFormat = new TextFormat();
myFormat.font = "Helvetica";
myFormat.color = 0xFF0000;
myFormat.size = 24;
myText.setTextFormat(myFotmat);
myText.wordWrap = true;
var externalLoad:URLLoader = new URLLoader();
externalLoad.load( new URLRequest('external.txt') );
externalLoad.addEventListener(Event.COMPLETE, textReady);
externalLoad.removeEventListener(Event.COMPLETE, textReady);
function textReady(event:Event):void {
external_txt.text = event.target.data;
}

external_text.scrollV++;
var users:Array = new Array();
users[0] = "Todd"; users[1] = "Jimmy";
trace(users);
var users:Array = ['Todd', 'Jimmy'];
for(var i:Number=0; i < users.length; i++) { }
users.push('xxx');

public function setType(type:*):void {}
if(_firstCard == undefined) { _firstCard = event.currentTarget; } //notice differ from event.target
String(_firstCard._type);
_firstCard.gotoAndPlay("any label you set"); or frame idx


if(this.currentFrame == 1) { this.play(); }

var shape:Shape = new Shape(); //MovieClip also works
shape.graphics.lineStyle(1, 0x00ff00);
shape.graphics.beginFill(0x000000);
shape.graphics.drawCircle(100, 100, 50); //.drawRect(100, 100, 200, 100);
shape.graphics.endFill();
addChild(shape);

var colorT:ColorTransform = new ColorTransform();
colorT.blueOffset = -100;
colorT.redOffset = 100;
_mc.transform.colorTransform = colorT;

_mc.filters = [new DropShadowFilter(), new BlurFilter()];

var bs:DropShadowFilter = new DropShadowFilter();
bs.color = 0x0b77a9;
bs.blurX = 10;
bs.blurY = 10;
bs.angle = 66;
bs.distance = 200;
_mc.filters = [bs];

var il:Loader = new Loader();
il.load(new URLRequest('xxx.swf')); //support gif,jpg,png,swf and so on.
addChild(il);
il.contentLoaderInfo.addEventListener(Event.COMPLETE, onComplete);
function onComplete(e:Event):void {
//make sure the 'Linkage' before do this:Exoprt for ActionScript (there should have a xxx_mc in swf)
e.target.content.xxx_mc.y -= 100;
}

var snd:Sound = new Sound();
snd.load(new URLRequest('xxx.mp3'));
snd.addEventListener(Event.COMPLETE, onComplete);
function onComplete(e:Event):void {
snd.play(); //e.target.play(); //.play(resumeTimeSec);
}

var sndCtl:SoundChannel = new SoundChannel();
sndCtl = snd.play();
sndCtl.stop();
var resumeTime = sndCtrl.position;

var volCtl:SoundTransform = new SoundTransform();
volCtl.volume += .1; sndCtl.soundTransform = volCtl;

/* only for flash CS3, now it is already out-date.
var n:NetConnection = new NetConnection();
n.connect(null); //or something other
var ns:NetStream = new NetStream(n);

/*
var metaListener:Object = new Object();
metaListener.onMetaData = onMetaData;
ns.client = metaListener;
function onMetaData(data:Object):void {
//do something play/stop button init works.
ns.play("xxx.flv");
ns.stop();
}
*/
var v:Video = new Video();
video.attachNetStream(ns);
addChild(v);

this.startDrag();
this.stopDrag();

event.currentTarget.hitTestObject(event.currentTarget._obj);

this.parent.addChild(this); //this could set mc to top of mainbox.

Saturday, September 5, 2009

share my two scripts which are using upload your file to client's server(via ftp or sftp)

Lately a guy complain that uploading his finished work files to client's server is not easy. sometimes to many files in anywhere dispersedly which is annoying to cover all files to upload completely.

Don't tell me you are still using WinSCP or Filezilla to upload files? if you are a developer then you should feel shame for what you are doing.

Let's see How do I solve this issue.
Firstly I wrote two scripts. as following:

FOR SFTP:

#!/bin/bash

curd=`pwd`

for i in $@; do
scp -P3122 -i /path/to/your/key $i jzhang@www.youclientserver.com:$curd/$i
done


FOR FTP(need ncftp):

#!/bin/bash

curd=`pwd`

for i in $@; do
d=`dirname $i`
ncftpput -uusername -ppasswd ftpdomain.com /footprint/${d//./ } $i
done


HOW TO USE:

$ svn status
? templates/ftp.php
M no_ie6_page.php

z33@gogocat /footprint
$ ~/upload_podbean.sh templates/ftp.php no_ie6_page.php

Friday, September 4, 2009

SVN 常用命令收集

svn log -r2508:head -v

svn propedit svn:ignore ./