i do buy this flash code.. but seem cant register krpano_as3_interface into it...
the last public function maybe the click function...
both code related... either one is the click function one that should be re code to register krpano code...
download both code here.. http://www.mosque360.com/download/krpano_as3_interface.zip
Code
{
import flash.display.Bitmap;
import flash.display.BitmapData;
import flash.geom.Matrix;
import flash.text.TextField;
import flash.display.Loader;
import flash.display.Sprite;
import flash.display.MovieClip;
import flash.events.Event;
import caurina.transitions.*;
import flash.events.MouseEvent;
import flash.net.URLRequest;
import flash.net.navigateToURL;
import caurina.transitions.*;
import caurina.transitions.properties.ColorShortcuts;
import krpano_as3_interface;
ColorShortcuts.init();
public class Imholder extends Sprite
{
private var w:Number;
private var h:Number;
private var imgLoader:Loader;
private var Img:Sprite;
public static const BORDER_WIDTH:Number = 2;
private var _link:String;
private var _action:String;
private var velocity:Number = 0;
public var reflection:Bitmap;
public var scaleMatrix:Matrix;
public var bmp:BitmapData;
public static var firstItem:Boolean = false;
public static var lastItem:Boolean = false;
private var thisHitArea:hitAreaMC;
private var tempX:Number;
public function Imholder():void
{
toolTip.mask = toolTipMask;
toolTip.alpha = Menu.toolTipAlpha;
toolTip.x = this.x + Menu.borderPadding;
toolTip.Shape.width = Menu.imageHolderWidth - 2 * Menu.borderPadding;
toolTip.Text.width = toolTip.Shape.width;
toolTipMask.x = toolTip.x;
toolTipMask.width = toolTip.width;
toolTipMask.y = Menu.borderPadding;
this.mouseEnabled = false;
tempX = this.x;
reflectionMask.width = Menu.imageHolderWidth;
reflectionMask.height = Menu.reflectionHeight;
reflectionMask.alpha = Menu.reflectionAlpha;
}
public function resize(newWidth:Number, newHeight:Number):void
{
w = newWidth;
h = newHeight;
Shape.width = w;
Shape.height = h;
reflectionMC.y = 2 * Menu.imageHolderHeight + Menu.reflectionDistance;
reflectionMask.y = Menu.imageHolderHeight + Menu.reflectionDistance;
preLoader.x = w / 2;
preLoader.y = h / 2;
if (Img)
{
Img.x = Menu.borderPadding;
Img.y = Menu.borderPadding;
Img.width = w - 2 * Menu.borderPadding;
Img.height = h - 2 * Menu.borderPadding;
}
}
public function setImage(path:String):void
{
imgLoader = new Loader();
imgLoader.contentLoaderInfo.addEventListener(Event.INIT, imgLoader_initHandler);
imgLoader.load(new URLRequest(path));
}
private function imgLoader_initHandler(event:Event):void
{
var ow:Number = imgLoader.content.width;
var oh:Number = imgLoader.content.height;
var bmp:BitmapData = new BitmapData(ow, oh, true, 0);
bmp.draw(imgLoader.content);
imgLoader.contentLoaderInfo.removeEventListener(Event.INIT, imgLoader_initHandler);
imgLoader = null;
Img = new Sprite();
Img.alpha = 0;
Img.addChild(new Bitmap(bmp, "auto", true ));
addChild(Img);
resizeImage();
addEventListener(MouseEvent.ROLL_OVER, onRollOver_Handler);
addEventListener(MouseEvent.ROLL_OUT, onRollOut_Handler);
Tweener.addTween(Img, { alpha:1, time: 0.5, onUpdate:updateReflection, transition: "easeoutquad" } );
this.buttonMode = true;
this.useHandCursor = true;
thisHitArea = new hitAreaMC;
addChild(thisHitArea)
thisHitArea.height = Menu.imageHolderHeight;
thisHitArea.width = Menu.imageHolderWidth;
thisHitArea.alpha = 0;
this.addEventListener(MouseEvent.CLICK, clickHandler);
updateReflection();
swapChildren(toolTip, Img);
}
private function resizeImage():void
{
Img.x = Img.y = Menu.borderPadding;
Img.width = Menu.imageHolderWidth - 2 * Menu.borderPadding;
Img.height = Menu.imageHolderHeight - 2 * Menu.borderPadding;
}
public function setToolTipText(string:String):void
{
toolTip.Text.wordWrap = true;
toolTip.Text.htmlText = string;
toolTip.Text.autoSize = "center";
toolTip.Text.width = toolTipMask.width-10;
toolTip.Shape.height = Math.round(toolTip.Text.height)+5;
toolTipMask.height = toolTip.Shape.height + 5;
toolTip.y = - toolTip.Shape.height-toolTip.Arrow.height;
toolTip.Arrow.x = toolTip.Shape.width / 2;
toolTip.Arrow.y = toolTip.Shape.y + toolTip.Shape.height;
}
private function onRollOver_Handler(e:Event):void
{
Tweener.addTween(thisHitArea, {height:Menu.imageHolderHeight+Menu.rollOverDistance, time:Menu.rollOverTime, transition:"easeOutQuad" } );
Tweener.addTween(this, { y:Menu.imageHolderY - Menu.rollOverDistance, time:Menu.rollOverTime,onUpdate:updateReflection, transition:"easeOutQuad" } );
Tweener.addTween(Shape, { _color:0xffffff, time:Menu.rollOverTime, transition:"easeOutQuad" } );
Tweener.addTween(toolTip, { y:Img.y , time:Menu.rollOverTime, transition:"easeOutQuad" } );
Tweener.addTween(reflectionMC, {y:2 * Menu.imageHolderHeight + Menu.reflectionDistance+2*Menu.rollOverDistance, time:Menu.rollOverTime, transition:"easeOutQuad" } );
}
private function onRollOut_Handler(e:Event):void
{
Tweener.addTween(thisHitArea, {height:Menu.imageHolderHeight, time:Menu.rollOutTime, transition:"easeOutQuad" } );
Tweener.addTween(this, { y:Menu.imageHolderY, time:Menu.rollOutTime, transition:"easeOutQuad" } );
Tweener.addTween(Shape, { _color:0x000000, time:Menu.rollOutTime,onUpdate:updateReflection, transition:"easeOutQuad" } );
Tweener.addTween(toolTip, { y:- toolTip.Shape.height-toolTip.Arrow.height , time:Menu.rollOutTime, transition:"easeOutQuad" } );
Tweener.addTween(reflectionMC, {y:2 * Menu.imageHolderHeight + Menu.reflectionDistance, time:Menu.rollOutTime, transition:"easeOutQuad" } );
}
private function placeItem():void
{
this.y = Menu.imageHolderY;
}
public function updateReflection():void
{
var filters:Array = this.filters;
this.filters = [];
if (reflection)
{
reflectionMC.removeChild(reflection);
}
scaleMatrix = new Matrix();
scaleMatrix.scale(1, 1);
bmp = new BitmapData(Shape.width,Shape.height, true, 0xffffff);
bmp.draw(this, scaleMatrix);
reflection = new Bitmap(bmp);
if (Menu.reflectionVisible == false) { reflectionMC.visible = false };
reflectionMC.addChild(reflection);
reflectionMask.cacheAsBitmap = true;
reflection.cacheAsBitmap = true;
reflection.mask = reflectionMask;
reflection.scaleY = -1;
reflectionMC.buttonMode = false;
reflectionMC.mouseEnabled = false;
this.filters = filters;
}
private function clickHandler(event:MouseEvent):void
{
var krpano:krpano_as3_interface;
krpano = krpano_as3_interface.getInstance();
if (_link)
{
krpano.call("action())");
}
}
public function setLink(newLink:String, newTarget:String):void
{
}
}
}
Display More
or maybe this code...
thank you in advance...