CityMaker学习教程10 示例代码的使用Javascript

原创 2016年06月01日 20:10:54

示例代码中的CS版本和BS版本是对应的,基本都是一对一的,不过BS有些代码跑起来比较困难,比如说这里用到的获取文件位置的代码 var skyboxPath = getSamplesRelatePath(“/Media/skybox”);这个函数调用内容如下:

var flag = unescape(location.pathname).lastIndexOf("Samples");
if (flag > 0) {
        return (unescape(location.pathname).substring(1, flag) + "Samples");
    }         

这个函数就经常性的获取不到对应的文件夹位置,会报错,这里我用了一个替换函数

 //获取网络路径
    function abspath() {
        var abspath = unescape(window.location.href);
        var index = abspath.indexOf("?");
        if (index > 0) abspath = abspath.substr(0, index - 1);
        index = abspath.lastIndexOf("/");
        var index2 = abspath.lastIndexOf("\\");
        index = (index > index2) ? index : index2;
        if (index <= 0) return abspath;
        abspath = abspath.substring(0, index);
        if (abspath.substring(0, 1) == "/") abspath = abspath.slice(1);
        var re = /file:\/\/\//gi;
        if (abspath.match(re) != null) abspath = abspath.replace(re, "");
        return abspath;
    };

这个函数在获取当前执行html在网站中的绝对路径的时候非常好用,当我们调用天空图片的时候,只需要abspath()+”skybox//1_bk.png”即可调用到网络路径的图片了。
1、cm7.js里面放的都是一些结构体和类的定义,属于配置型js,如果觉得太大可以拆解开,用到哪个把哪个提取出来放到其他地方。
2、cm7_sample_util.js是功能性的,里面有初始化三维窗体,加载FDB,2个大函数,包括本地FDB和网络的FDB。

这个程序包代码量很庞大,但是封装相对较松散,每个示例都实现了片段功能,没有针对业务进行组装,我后续会组装一个完整的MVC结构示例代码,将功能进行模块化定义,方便后续的使用。

具体结构如下:

这里写图片描述

这套整个写完基础版会免费对外发放,涉及高级一点的功能可以申请。
Model如下:
这里写图片描述

如需支持请联系MrSun
sunhaihong@gvitech.com

版权声明:本文为博主原创文章,未经博主允许不得转载。海洪出品,必属精品。

CityMaker学习教程07 示例代码的使用CSharp

说明:目前针对学校和企业团体,只需要申请一个试用的授权License即可,配置到服务器上,别的机器在运行SDK的示例的时候,只需将网络授权添加即可。 ILicenseServer license =...
  • shh369
  • shh369
  • 2016年05月30日 08:57
  • 762

CityMaker学习教程09 一个示例,多窗体,画中画,多屏幕显示

1、CityMaker采用同一个父窗体,多个申请窗体的方式进行多屏功能,并非添加另一个控件,不存在另一个场景,只是在原来的场景中扩展,你可以想象为复制出来。 2、实现多屏幕很简单,主要靠一个属性来控...
  • shh369
  • shh369
  • 2016年05月30日 19:35
  • 717

CityMaker学习教程08 一个示例,创建漫游路径

1、在看完CS代码后可以自己写程序了,我刚写了一个由线创建动态路径的代码,给大家参考。 2、配置完场景,加载完FDB。 3、代码片段 _axcontrol.axRenderControl1.Int...
  • shh369
  • shh369
  • 2016年05月30日 12:58
  • 672

微软一站式示例代码库(中文版)2011-03-10版本, 新添加20个Sample。

三月,春暖花开。我们发布了新一版本的All-In-One Code Framework!下载地址:http://1codechs.codeplex.com/releases/view/61192 如果...
  • sjb5201
  • sjb5201
  • 2011年03月09日 17:21
  • 6072
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:CityMaker学习教程10 示例代码的使用Javascript
举报原因:
原因补充:

(最多只允许输入30个字)