- 2009年9月11日 10:23
- Flash | ActionScript
使い方がいまいちわからず使ってこなかったinterfaceの使いどころ。
微妙に違う機能のClassAとClassBがあったとすると。
hogeClassというinterfaceを作って外部とやりとりするメソッドを定義しておくとコンパイルエラーもせず書き出せます。
微妙に違う機能のClassAとClassBがあったとすると。
var a:hogeClass = new ClassA(); var b:hogeClass = new ClassB();
hogeClassというinterfaceを作って外部とやりとりするメソッドを定義しておくとコンパイルエラーもせず書き出せます。
package
{
public interface hogeClass
{
function commonFumc(val:String,num:Number):void
}
}
package{
public class ClassA implements hogeClass
{
}
}
package{
public class ClassB implements hogeClass
{
}
}
BetweenAS3の勉強がてら書いたコード
まずinterface定義
package
{
import flash.display.MovieClip;
public interface IBetween
{
function startTween(target:MovieClip,param:Object=null):void
}
}
んでIBetweenをimplementsしたclasssを2つほど
package
{
import flash.display.MovieClip;
import org.libspark.betweenas3.BetweenAS3;
import org.libspark.betweenas3.tweens.ITween;
import org.libspark.betweenas3.easing.*;
public class Tween1 implements IBetween
{
public function Tween1() {
}
public function startTween(mc:MovieClip, param:Object = null):void {
var nColor:int = 255;
if (param) {
nColor = param.nColor
}
BetweenAS3.tween(mc,
{
transform: {
colorTransform: {
redOffset: nColor
}
}
}, null, 2.0, Cubic.easeOut
).play();
}
}
}
package
{
import flash.display.MovieClip;
import org.libspark.betweenas3.BetweenAS3;
public class Tween2 implements IBetween
{
private var _nx:Number=250;
public function Tween2() {
}
private function setPos(mc:MovieClip,dx:Number, nx:Number):void{
_nx = nx;
mc.x = dx;
}
public function startTween(mc:MovieClip, param:Object = null):void {
if (param) {
setPos(mc, param.dx, param.nx )
}
BetweenAS3.tween(mc, {x: _nx}).play();
}
}
}
として
var id:int = Math.floor(Math.random() * 2);
trace(id);
var cTween:IBetween
switch(id) {
case 0:
cTween = new Tween1();
cTween.startTween( _mc,{nColor:Math.ceil(Math.random() * 255)} );
break;
case 1:
cTween = new Tween2();
cTween.startTween( _mc,{dx:10, nx:220} );
break;
}
みたいな感じで呼んであげるとかいいかなあと。
この本参考にしたんだけどAmazonレビューでは誤字が多いといわれてますな。
考えかたとかは結構勉強になっていいんだけどねえ。
- Newer: Spark勉強会Tween大喜利
- Older: Flashでmixiアプリ