Lieber Besucher, herzlich willkommen bei: krpano.com Forum. Falls dies Ihr erster Besuch auf dieser Seite ist, lesen Sie sich bitte die Hilfe durch. Dort wird Ihnen die Bedienung dieser Seite näher erläutert. Darüber hinaus sollten Sie sich registrieren, um alle Funktionen dieser Seite nutzen zu können. Benutzen Sie das Registrierungsformular, um sich zu registrieren oder informieren Sie sich ausführlich über den Registrierungsvorgang. Falls Sie sich bereits zu einem früheren Zeitpunkt registriert haben, können Sie sich hier anmelden.
|
|
Quellcode |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 |
<plugin name="mouseFollowOnBtn" url="mouse-follow-on.png" alpha="0.9" visible="false" align="lefttop" edge="lefttop" y="-4" x="852" blendmode="normal" keep="true" onclick="action(mouseFollowOn);"/> <plugin name="mouseFollowOffBtn" url="mouse-follow-off.png" alpha="0.9" visible="true" align="lefttop" edge="lefttop" y="-4" x="852" blendmode="normal" keep="true" onclick="action(mouseFollowOff);"/> <action name="mouseFollowOn"> addplugin(mousefollow); set(plugin[mousefollow].enabled, true); set(plugin[mouseFollowOffBtn].visible, true); set(plugin[mouseFollowOnBtn].visible, false); </action> <action name="mouseFollowOff"> set(plugin[mouseFollowOffBtn].visible, false); set(plugin[mouseFollowOnBtn].visible, true); removeplugin(mousefollow); set(hlookat_moveforce, 0); set(vlookat_moveforce, 0); </action> |
|
|
Quellcode |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 |
package
{
import flash.display.Sprite;
import flash.events.Event;
import krpano_as3_interface;
public class followmouse extends Sprite
{
private var krpano : krpano_as3_interface = null;
private var control_mousetype_backup:String = null;
private var pluginpath : String = null;
private var pluginobj : Object = null;
public function followmouse()
{
if (stage == null)
{
this.addEventListener(Event.ADDED_TO_STAGE, startplugin);
this.addEventListener(Event.REMOVED_FROM_STAGE, stopplugin);
}
}
private function startplugin(evt:Event):void
{
krpano = krpano_as3_interface.getInstance();
//register actions to flash functions
pluginpath = evt.data;
pluginobj = krpano.get(pluginpath);
krpano.set(pluginpath+".stopit", startListening);
krpano.set(pluginpath+".startit", stopListening);
if ( krpano.get("version") < "1.0.7" )
{
krpano.call("error(followmouse plugin - wrong krpano version! 1.0.7 or higher needed);");
return;
}
// save current control mode
control_mousetype_backup = krpano.get("control.mousetype");
// disable default mouse control
krpano.set("control.mousetype", "off");
// add frame listener -- DISABLED SO YOU CAN MANUALLY CALL IT
//addEventListener(Event.ENTER_FRAME, enterFrameHandler);
}
private function stopListening():void
{
stopplugin(null);
}
private function startListening():void
{
addEventListener(Event.ENTER_FRAME, enterFrameHandler);
}
private function stopplugin(evt:Event):void
{
// remove frame listener
removeEventListener(Event.ENTER_FRAME, enterFrameHandler);
// restore old controlmode
krpano.set("control.mousetype", control_mousetype_backup);
}
private function enterFrameHandler(event:Event):void
{
var mx:Number = stage.mouseX;
var my:Number = stage.mouseY;
var sx:Number = stage.stageWidth * 0.5;
var sy:Number = stage.stageHeight * 0.5;
// calc motion vectors: -1.0 to +1.0
var vx:Number = (mx - sx) / sx;
var vy:Number = (my - sy) / sy;
// advance it a little bit:
// - make moving slower in the middle
// - and faster in the outer regions
vx = (vx < 0 ? -1.0 : +1.0) * Math.pow(Math.abs(vx), 2.0);
vy = (vy < 0 ? -1.0 : +1.0) * Math.pow(Math.abs(vy), 2.0);
// stop very slow moving
if (Math.abs(vx) < 0.01) vx = 0;
if (Math.abs(vy) < 0.01) vy = 0;
// set move forces
krpano.set("hlookat_moveforce", vx);
krpano.set("vlookat_moveforce", vy);
}
}
}
|
|
|
Quellcode |
1 |
var swf = createswf("krpano.swf", "krpanoSWFObject", "100%", "100%");var area:Object = krpano.get("area"); var mx:Number = stage.mouseX * 0.5; var my:Number = stage.mouseY * 0.5; var sx:Number = area.pixelwidth * 0.5; var sy:Number = area.pixelheight * 0.5; swf.addVariable("xml", "test_area.xml"); swf.addParam("wmode","transparent"); swf.embed("krpanoDIV");
|
Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von »d&g« (26. Oktober 2010, 16:23)
yes, but only by editing the code,Hi, is there a way to use this plugin but only horizontal ?
I don't want to follow the mouse up and down, is it possible ?
|
|
Quellcode |
1 |
krpano.set("vlookat_moveforce", vy);
|
Hi,is possible to control the acceleration and friction of the mouse?
Dieser Beitrag wurde bereits 2 mal editiert, zuletzt von »BOX« (4. März 2016, 01:39)
I rewrote this for HTML5 if anyone wants it:
https://github.com/BOXNYC/krpano-plugins…/followmouse.js
Cheers!