您的位置:首页 > 教育 > 锐评 > app游戏制作教程_抖音代运营需要抖音什么条件_北京培训学校_dw网页制作详细步骤

app游戏制作教程_抖音代运营需要抖音什么条件_北京培训学校_dw网页制作详细步骤

2025/2/24 1:59:32 来源:https://blog.csdn.net/Error_ABC/article/details/145650651  浏览:    关键词:app游戏制作教程_抖音代运营需要抖音什么条件_北京培训学校_dw网页制作详细步骤
app游戏制作教程_抖音代运营需要抖音什么条件_北京培训学校_dw网页制作详细步骤

cesium官网下载:https://cesium.com/downloads/
1.安装cesium
选择下载到本地使用,或者通过npm下载到项目中
在这里插入图片描述
2.代码书写
(1)创建容器

  <div id="cesiumContainer" style="width: 100%; height: 100%"></div>

(2)引入cesium

import * as Cesium from 'cesium'

(3)设置静态资源路径
静态资源是指在cesium中内置的一些可以使用的资源,静态资源路径可能会根据cesium的版本不同而有区别,查看静态资源路径
在这里插入图片描述

// 静态资源路径
;(window as any).CESIUM_BASE_URL = 'node_modules/cesium/Build/CesiumUnminified/'

也可以将该处的静态资源文件放到项目的根目录静态资源文件夹下,例如public文件夹下,这时静态资源路径就为“/”

3.使用Viewer容器渲染

onMounted(async () => {const viewer = new Cesium.Viewer('cesiumContainer', {})
})

4.申请token,以便调用cesium的api
登录cesium,获取Access Token,将其复制到项目中
在这里插入图片描述
控制台如果出现如下报错:
在这里插入图片描述
可以设置该配置:

 const viewer = new Cesium.Viewer('cesiumContainer', {infoBox: false,})

默认效果图
在这里插入图片描述
5.查看器(viewer)部分相关配置项

  const viewer = new Cesium.Viewer('cesiumContainer', {// terrainProvider: Cesium.createWorldTerrain({//   requestWaterMask: true // 开启水面特效// }), // 创建地形// infoBox: false,// geocoder: true, //是否显示地名查找控件// sceneModePicker: true, //是否显示投影方式控件// navigationHelpButton: true, //是否显示帮助信息控件// baseLayerPicker: true, //是否显示图层选择控件// homeButton: true, //是否显示Home按钮// fullscreenButton: true, //是否显示全屏按钮// timeline: true, //时间轴控件// animation: true //动画控件})

6.相机相关配置

 // 相机// 将视野定位到特定地点// viewer.camera.setView({//   destination: Cesium.Cartesian3.fromDegrees(-122.4175, 37.655, 400), //定位到位置//   // 视野角度//   orientation: {//     // 默认(0,-90,0)//     heading: Cesium.Math.toRadians(0.0),//     pitch: Cesium.Math.toRadians(-15.0),//     roll: Cesium.Math.toRadians(0)//   }// })// 定位到特殊地点(含飞行动画)// viewer.camera.flyTo({//   destination: Cesium.Cartesian3.fromDegrees(-122.4175, 37.655, 400),//   duration: 3, //飞行时间//   orientation: {//     heading: Cesium.Math.toRadians(0.0),//     pitch: Cesium.Math.toRadians(-15.0)//   }// })// lookAt,锁住视野,无法拖动改变视野位置// const position = Cesium.Cartesian3.fromDegrees(-122.4175, 37.655, 400)// viewer.camera.lookAt(//   position,//   new Cesium.HeadingPitchRange(Cesium.Math.toRadians(0.0), Cesium.Math.toRadians(-15.0), 2000)// )

7.坐标转换

// 经纬度转换为笛卡尔坐标系// let carctesian1 = Cesium.Cartesian3.fromDegrees(110, 20, 20)// // 笛卡尔转弧度坐标// let cartongraphic = Cesium.Cartographic.fromCartesian(carctesian1)// // 弧度坐标转角度坐标,高度不用单独转// let lon = Cesium.Math.toDegrees(cartongraphic.longitude)// let lat = Cesium.Math.toDegrees(cartongraphic.latitude)// 未知角度/已知弧度=360°/2*PI;未知角度=已知弧度*180/PI// 圆一周弧度为2*PI,角度为360°// let lon = (180 / Math.PI) * cartongraphic.longitude// let lat = (180 / Math.PI) * cartongraphic.latitude// Add Cesium OSM Buildings, a global 3D buildings layer.// const buildingTileset = await Cesium.createOsmBuildings()// viewer.scene.primitives.add(buildingTileset)

8.添加实体

// 实体 写法一// const point = new Cesium.Entity({//   position: Cesium.Cartesian3.fromDegrees(120, 30),//   point: {//     pixelSize: 20, // 像素点大小//     color: Cesium.Color.RED//   }// })// viewer.entities.add(point)// 写法二// const point2 = viewer.entities.add({//   id: 'point',//   position: Cesium.Cartesian3.fromDegrees(120, 30),//   point: {//     pixelSize: 20, // 像素点大小//     color: Cesium.Color.RED//   }// })// viewer.zoomTo(point2)// 标注,广告牌// const billboard = viewer.entities.add({//   position: Cesium.Cartesian3.fromDegrees(116, 40, 50),//   billboard: {//     image: '/src/assets/R-C.png',//     scale: 0.3,//     color: Cesium.Color.YELLOW//   }// })// viewer.zoomTo(billboard)// 标题// const label = viewer.entities.add({//   position: Cesium.Cartesian3.fromDegrees(116, 40, 50),//   label: {//     text: 'Cesium',//     fillColor: Cesium.Color.YELLOWGREEN,//     showBackground: true,//     backgroundColor: new Cesium.Color(255, 255, 255)//   }// })// viewer.zoomTo(label)

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com