[原创]Cult3D 与 Javascript互交

时间:2007-01-15 20:14   作者:ChenReal    阅读:288

前一阵子研究的Director做Shockware 3D,结果因为3D设计师一句话被推翻了。不得不重新回到C3D的阵容中。

Cult3D designer是一个很傻瓜的软件,几乎没有脚本这个概念,事件和动作的关联,再加上一些参数的设置,就可做出互交式Web3D的效果了。不过往往在Web上的实际应用要求并不仅仅限于此。故此,Java 和Javascript可做为C3D的一个很好的扩充和强化。 考虑到做3D全景只是一个小Job,不必动用Java要浏览者多装一个Java的插件,故此我选用了Javascript。

先把添加以一个自定义事件,命名为“reset”。 C3D 的ActiveX对象的ID为“CultObject”,故document.getElementById("CultObject")..triggerEvent("reset");便可以触发改事件了。

例子:(演示 地址:http://demo.rainmantech.com/demo/pano2/ )

<embed name="CultObject" 
	pluginspage="http://www.cult3d.com/newuser/index.html" 
	src="demo.co" 
	width="461" 
	height="313" 
	type="application/x-cult3d-object" 
	antialiasing="0" 
	pbcolor="FFFFFF" 
	border="0" 
	viewfinished="0" 
	disablepb="0" 
	antialiasingdelay="250" 
	embed=""
></embed> 
<script language="javascript" for="CultObject">
//var lock = 0;
var timeout;
function Obj(id){
	return document.getElementById("CultObject");
}
function C3D_Action(EventName,lock){
	Obj("CultObject").triggerEvent(EventName);
	if(lock ==1){
		clearTimeout(timeout);
		timeout = setTimeout("C3D_Action('"+EventName+"',1)",50);
	}
	else{
		clearTimeout(timeout);
	}
}
function RotateContinue(EventName){
	clearTimeout(timeout);
	C3D_Action(EventName,1);
}
</script>
<br />
<br />
<input onclick="javascript:C3D_Action('reset',0);" type="button" value="重置" />
<input onmouseup="javascript:C3D_Action('',0);" onmousedown="javascript:C3D_Action('rotate_left',1);" onmouseout="javascript:C3D_Action('',0);" type="button" value="左转" />
<input onmouseup="javascript:C3D_Action('',0);" onmousedown="javascript:C3D_Action('rotate_right',1);" onmouseout="javascript:C3D_Action('',0);" type="button" value="右转" />
<input onclick="javascript:RotateContinue('rotate_left');" type="button" value="左转(自动)" /> <input onclick="javascript:RotateContinue('rotate_right');" type="button" value="右转(自动)" />
<input onmouseup="javascript:C3D_Action('',0);" onmousedown="javascript:C3D_Action('rotate_up',1);" onmouseout="javascript:C3D_Action('',0);" type="button" value="上翻" />
<input onmouseup="javascript:C3D_Action('',0);" onmousedown="javascript:C3D_Action('rotate_down',1);" onmouseout="javascript:C3D_Action('',0);" type="button" value="下翻" />
<input onmouseup="javascript:C3D_Action('',0);" onmousedown="javascript:C3D_Action('far',1);" onmouseout="javascript:C3D_Action('',0);" type="button" value=" 远 " />
<input onmouseup="javascript:C3D_Action('',0);" onmousedown="javascript:C3D_Action('near',1);" onmouseout="javascript:C3D_Action('',0);" type="button" value=" 近 " />

 

评论
0/200