VRML与Javascript和VBscript交互的实例

本文提供了一个使用VRML创建交互式3D模型的示例,通过HTML页面上的按钮触发脚本,实现3D模型的变换。示例中利用了VBScript和JavaScript来修改VRML模型的属性。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

 现将代码贴出,共勉!

 

HTML部分:=====================================================

<html>
<head>
<script language="VBscript">
<!--
function M_b()
 set M_e=Scene.Engine
 M_e.Nodes("MyScript").Fields("nodestring")="Shape {geometry Box{}}"
 M_e.Nodes("MyScript").Fields("kk")=TRUE
end function
function M_s()
 set M_e=Scene.Engine
 M_e.Nodes("MyScript").Fields("nodestring")="Shape {geometry Extrusion{}}"
 M_e.Nodes("MyScript").Fields("kk")=TRUE
end function
!-->
</script>
<script language="javascript">
 function bd() {
  var oo = Scene.Engine;
  oo.Nodes("MyScript").Fields("nodestring")="Shape {geometry Box{}}";
  oo.Nodes("MyScript").Fields("kk")=true;
 }
 function bx(){
  var oo = Scene.Engine;
  oo.Nodes("MyScript").Fields("nodestring")="Shape {geometry Extrusion{}}";
  oo.Nodes("MyScript").Fields("kk")=true;
 }
</script>
</head>
<body>
<OBJECT id="Scene"
CLASSID="CLSID:86A88967-7A20-11d2-8EDA-00600818EDB1" WIDTH="300" HEIGHT="300">
<PARAM NAME="Scene" value="box.wrl">
</OBJECT>
<input type=button value="变大" onClick="bd()">
<input type=button value="变小" onClick="bx()"><br>
</body>
</html>

 

box.wrl部分===========================================================

#VRML V2.0 utf8

DirectionalLight {
 ambientIntensity .5
 intensity .2
}
NavigationInfo {
 type "EXAMINE"
}
DEF Transfm Transform {
 translation -4 0 -4
 children [
 Shape {
  geometry Box{}
 }]
}
DEF MyScript Script {
 directOutput TRUE
 eventIn SFBool kk
 field SFNode node USE Transfm
 field SFString nodestring ""
 url "VRMLSCRIPT:
 function kk(){
  if(nodestring=='')
  {
   nodestring='Shape {'
   'geometry Extrusion {'
   '}'
   '}' ;
  }
  node.children=Browser.createVrmlFromString(nodestring);
 }
 "
}

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值