|
@@ -1,4 +1,4 @@
|
|
|
-krpano 是一款基于 xml 开发的插件,改个 skin 样式琢磨半天,想动态添加或者切换场景无从下手,国内社区少的可怜,只有个[英文文档](https://krpano.com/docu/xml/?version=119pr13),修改成本太高了,还好有 gpt 做参数解析。
|
|
|
+xml? 狗看了都摇头,改个 skin 样式琢磨半天,想动态添加或者切换场景无从下手,国内社区少的可怜,只有个[英文文档](https://krpano.com/docu/xml/?version=119pr13),修改成本太高了,还好有 gpt 做参数解析。
|
|
|
|
|
|
`@dage/krpano` 将常用的标签使用 `React` 进行了组件化封装(MVVM 真香),并在实例上补充了 `vtourskin` 的功能,支持类型推断,基本满足开发需求。
|
|
|
|
|
@@ -16,6 +16,7 @@ import {
|
|
|
Scene,
|
|
|
View,
|
|
|
HotSpot,
|
|
|
+ Events,
|
|
|
SceneProps,
|
|
|
ROTATE_DIRECTION,
|
|
|
ZOOM_ACTION,
|
|
@@ -166,6 +167,17 @@ export default () => {
|
|
|
window.ReactKrpanoActionProxy?.zoomView(action);
|
|
|
};
|
|
|
|
|
|
+ const handleAutoRotateOneRound = () => {
|
|
|
+ const count = window.ReactKrpanoActionProxy?.get("scene").count;
|
|
|
+ const curIndex = window.ReactKrpanoActionProxy?.get(
|
|
|
+ "scene[get(xml.scene)].index"
|
|
|
+ );
|
|
|
+ const nextScene = window.ReactKrpanoActionProxy?.get("scene").getItem(
|
|
|
+ curIndex + 1 >= count ? 0 : curIndex + 1
|
|
|
+ );
|
|
|
+ setCurrentScene(nextScene.name);
|
|
|
+ };
|
|
|
+
|
|
|
return (
|
|
|
<div className="demo">
|
|
|
<Krpano
|
|
@@ -176,6 +188,7 @@ export default () => {
|
|
|
passQueryParameters={true}
|
|
|
>
|
|
|
<Autorotate enabled={autorotateEnable} />
|
|
|
+ <Events onAutoRotateOneRound={handleAutoRotateOneRound} />
|
|
|
|
|
|
{[...CENTER_SCENE_LIST, ...PARTY_SCENE_LIST].map(
|
|
|
(sc) => sc.imageTagAttributes && <Scene key={sc.name} {...sc} />
|