Krpano添加热点图

Others 2017-09-19 06:44:29 2017-09-19 06:44:29 3981 次浏览

在scene外面


<action name="do_crop_animation">
	<!-- 为热点注册属性 -->
	registerattribute(xframes, calc((imagewidth / %1) BOR 0));
	registerattribute(yframes, calc((imageheight / %2) BOR 0));
	registerattribute(frames, calc(xframes * yframes));
	registerattribute(frame, 0);

set(crop, '0|0|%1|%2');

setinterval(calc('crop_anim_' + name), calc(1.0 / %3),
	if(loaded,
		inc(frame);
		if(frame GE frames, if(onlastframe !== null, onlastframe() ); set(frame,0); );
		mod(xpos, frame, xframes);
		div(ypos, frame, xframes);
		Math.floor(ypos);
		mul(xpos, %1);
		mul(ypos, %2);
		calc(crop, xpos + '|' + ypos + '|%1|%2');
	  ,
		clearinterval(calc('crop_anim_' + name));
	  );
  );

</action>

然后里面调用



<hotspot name="spot1" url="animatedhotspot_white.png" onloaded="do_crop_animation(64,64, 60);"   ath="-15" atv="-12" onclick="looktohotspot(get(name),65)" />
传的属性为宽高和帧数。