Just finished work on Gypsum Factory Riverside Residences Virtual tour.
Gypsum Factory Riverside Residences Virtual tour
-
-
Extremely nice design and photography!
-
Completely agree with sachagriffin, superb interface and photography, very nice implementation of transparencies. Also, very well done iPad/iPhone adaptation too.
Just a curiosity, ¿How much time did it take you to complete a work of this quality?
Hope you share more of your work soon, congratulations!
Luis
-
Wow, great interface !
Would you share your flash hotspot and loader plugin ?Just one thing, your html5 textfields should fit the content in height, it's a bit strange with all thoses blank spaces.
Great work !
-
Completely agree with sachagriffin, superb interface and photography, very nice implementation of transparencies. Also, very well done iPad/iPhone adaptation too.
Just a curiosity, ¿How much time did it take you to complete a work of this quality?
Hope you share more of your work soon, congratulations!
Luis
Hi, I'm really sorry for answering just now! It took about 1-2 weeks for photographing and post-production, about 1 week for design and about 2 weeks for programming. I guess it was one moth or so all together.
-
Wow, great interface !
Would you share your flash hotspot and loader plugin ?Just one thing, your html5 textfields should fit the content in height, it's a bit strange with all thoses blank spaces.
Great work !
Hi, thank you very much! Sorry for the delayed answer.
I shared basic code lines for my hotspot plugin here: Smarter hotspots - dynamic scene title on rollover and looktohotspot with dynamic hotspot nameLoader plugin isn't complicated - I used separate class for the loader circle which includes setProgress() and drawWedge() functions.
The plugin itself uses krpano onnewpano event to listen when new scene is loadedCodepublic function registerplugin(krpanointerface:Object, pluginfullpath:String, pluginobject:Object):void { _krpano.set("progress.showload","none"); _krpano.set("progress.showwait","none"); _krpano.set("events[myevents_"+ _plugin.name + "].onnewpano", onNewPano); _krpano.set("events[myevents_"+ _plugin.name + "].keep", true); onNewPano();}
and uses timer to update loader wedge regarding to percentageCode
Display Moreprivate function onNewPano(...rest):void { _krpano.trace(1, _plugin.name + " onnewpano() called with " + rest.length + " arguments:"); if (_refreshTimer != null) { _refreshTimer.stop(); _refreshTimer.removeEventListener(TimerEvent.TIMER, onProgress); _refreshTimer = null; } _refreshTimer = new Timer(100); _refreshTimer.addEventListener(TimerEvent.TIMER, onProgress); _refreshTimer.start(); if (!_meter) { _meter = new Meter(); _meter.x = stage.stageWidth/2; _meter.y = stage.stageHeight/2; } if (!contains(_meter) || !_meter.visible) show(); } private function onProgress(e:TimerEvent):void { if (!_meter) return; var progress:Number = 1; if(_krpano.get("progress.isloading")) { progress = Number(_krpano.get("progress.progress") ); (progress < 0) ? progress=0 : null; (progress > 1) ? progress=1 : null; _meter.setProgress(progress); } if (_krpano.get("progress.loaddone") || progress >= 1) { _meter.setProgress(1); onComplete(); } } private function onComplete():void { if (_refreshTimer != null) { _refreshTimer.stop(); _refreshTimer.removeEventListener(TimerEvent.TIMER, onProgress); _refreshTimer = null; } hide(); }
Hope this helps! Cheers!
-
Thx for sharing, Nice work!
Participate now!
Don’t have an account yet? Register yourself now and be a part of our community!