问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

小白如何利用工具制作自己的h5小程序

发布网友 发布时间:2022-04-22 15:32

我来回答

4个回答

懂视网 时间:2022-05-12 05:51

这次给大家带来怎样用H5的WebGL实现3D虚拟机房的漫游动画,用H5的WebGL实现3D虚拟机房的漫游动画的注意事项有哪些,下面就是实战案例,一起来看一下。

第一人称在 3D 中的用法要参考第一人称在射击游戏中的使用,第一人称射击游戏(FPS)是以第一人称视角为中心围绕枪和其他武器为基础的视频游戏类型;也就是说,玩家通过主角的眼睛来体验动作。自从流派开始以来,先进的3D和伪 3D图形已经对硬件发展提出了挑战,而多人游戏已经不可或缺。

现在博物馆或者公司也经常使用到 3D 动画做宣传片等等,3D动画演绎最大的优势,便是在于内容与形式上给人的真实感受。它比平面作品更直观,比 2D 动画更真实,所以更能给观赏者以置身于广告环境当中的感受,大大增强广告的说服力。3D 技术的发展甚至挑战受众的分辨能力,使受众的判断游离于与虚拟和现实之间。
而且 3D特效的应用为创意提供了更加广阔的思维空间,并成为创意执行的可靠保证,并丰富了创意的形式和风格手段。根据广告主题的表现诉求,可以营造出梦幻般的神奇氛围来刺激打动受众,从而起到与受众沟通的目的。
3D动画宣传片将 3D动画、特效镜头、企业视频、照片、未来前景等内容通过后期合成、配音、解说形成一部直观、生动、喜闻乐见的高品位的企业广告宣传片,让社会不同层面的人士对企业产生正面的、积极的、良好的印象,从而建立对企业的好感与信任,并信赖该企业的产品或服务。

现在 3D 发展地如此迅速也要感谢人类对于“现实”的追求,所以学好用好 3D 是未来成功必不可少的一部分。

本文例子的思路是进入一个机房参观,打开门的动作是再生动不过了, 再加上适当地转弯,基本上完全模拟了人在机房中参观的效果。还有一个好处就是,如果要演示给领导看而又不用操作,这种炫酷的效果领导一定会很满意!

界面上的“reset”和“start”两个按钮是直接加在 body 体中的 button,并在这两个按钮上添加点击事件:

<div></div><div></div>

整个场景由 HT 封装的 3D 组件搭建形成的,构造这么大的场景是需要一定量的代码的,为了简化,我把场景单独拿出来,并用 HT 封装的 ht.JSONSerializer 类将场景序列化为 json,代码中只引入了生成后的 json 文件,为了让大家更明确,我这边做个示例,假设已经搭建好 3D 场景了:

dm = new ht.DataModel();g3d = new ht.graph3d.Graph3dView(dm);//.......构建好场景dm.serialize();//可以填入number参数,作为空格缩进值

既然我们已经搭建好环境,转成了 json 文件,代码中不好控制,这种情况下我们会将 DataModel 数据模型再反序列化,这个函数的功能就是将 json 格式转成对象,并将反序列化的对象传入到 DataModel 数据模型中,详情请参考HT for Web 序列化手册:

var g3d = window.g3d = new ht.graph3d.Graph3dView(), 
dataModel = g3d.dm(), 
view = g3d.getView(), 
path = null;g3d.setMovableFunc(function(data) { return false;});
g3d.setVisibleFunc(function(data) { 
if (data.getName() === "path") { 
 return false; 
} 
return true;});
g3d.setEye([523, 5600, 8165]);g3d.setFar(60000);dataModel.deserialize(json);

我们目前需要操作场景中的“门”、以及我们将要走的路线“path”,遍历 DataModel 数据模型,获取这两个数据:

for (var i = 0; i < dataModel.size(); i++) { 
var data = dataModel.getDatas().get(i); 
 if (data.getName() === "门")
{//json中设置的名称 
window.door = data; 
} 
if (data.getName() === "path")
{ 
path = data; 
} 
if (window.door && path)
{//获取到door 和 path 的data之后就跳出循环 
break; 
 }}

这个例子中简单来说就只有四个动作,“重置”回到原点、“开始动作”、“向前移动”,“停止”。点击“开始”按钮,在“开始动作”中我们只做了一个动作,“开门”动作,动作结束之后调用“forward”函数向前移动:

function startAnim() {
 
if (window.isAnimationRunning)
{ 
return; 
 } 
reset(); 
window.isAnimationRunning = true;//动画是否正在进行 ht.Default.startAnim({ 
 frames: 30, // 动画帧数,默认采用`ht.Default.animFrames`。 
interval: 20, // 动画帧间隔,默认采用`ht.Default.animInterval`。  
finishFunc: function() {// 动画结束后调用的函数。  
forward(); 
}, 
action: function(t){ // action函数必须提供,实现动画过程中的属性变化。  
door.setRotationY(-120 * Math.PI / 180 * t); 
} 
});
}

这边的“reset”函数就是“重置”回到原点的功能,我们通过这个函数将所有变化过的都恢复初始的位置,包括“门”的位置:

function reset()
{ 
if (window.isAnimationRunning)
{ 
return; 
} 
g3d.setCenter([0,0,0]); 
g3d.setEye([523, 5600, 8165]); window.forwardIndex = 0; 
 door.setRotationY(0);}

要“移动”,肯定需要走路的“路径”,也就是我们刚刚获取到的“path”,通过window.points = path.getPoints()._as; 获取“path”中的所有元素,初始化window.forwardIndex = 0; 通过控制“path”中前后两点来设置 3D 场景中的 Eye 和 Center,这样就能营造一个我们是第一人的效果

var point1 = points[forwardIndex], 
 point2 = points[forwardIndex + 1];var distanceX = (point2.x - point1.x), 
distanceY = (point2.y - point1.y), 
distance = Math.sqrt(distanceX * distanceX + distanceY * distanceY)-200;//两点之间的距离通过三角形勾股定理计算 怕碰墙所以-200g3d.setEye([point1.x, 1600, point1.y]);//眼睛g3d.setCenter([point2.x, 1600, point2.y]);//我

HT 中 3D 组件有一个 walk(step, anim, firstPersonMode)方法,该函数同时改变eye和center的位置,也就是eye和center在两点建立的矢量方向上同时移动相同的偏移量。step为偏移的矢量长度值。firstPersonMode参数为空时则默认采用Graph3dView#isFirstPersonMode()当前值, 如果为第一人称模式调用walk操作,该函数会考虑Graph3dView#getBoundaries()边界限制。

g3d.walk(distance, { 
frames: 50, 
interval: 30, 
easing: function(t) {return t; }, 
finishFunc: function() { 
forwardIndex += 1; 
if (points.length - 2 > forwardIndex) {//points.length = 5  g3d.setCenter([point2.x, 1600, point2.y]);//把结束点变成起始点  
g3d.rotate(Math.PI / 2, 0, {  
 frames: 30,  
 interval: 30,  
 easing: function(t) {return t;},  finishFunc:function() { forward();}  
 }); 
 }
else
{  
var lastPoint = points[points.length - 1];//json 中path的points 的最后一个点  
 g3d.setCenter([lastPoint.x, 1400, lastPoint.y]);  
g3d.rotate(-Math.PI / 2, 0,
{  
 frames: 30,  
 interval: 30,  
 finishFunc: function()
{   
window.isAnimationRunning = false;  
 }  
 }); 
 } 
}});

不管“path”的点有多少个,这个判断语句还是能运作,只在最后一个点是跳出 finishFunc 动画结束后调用的函数,并将 window.isAnimationRunning 值设为 false 停止 startAnim 函数。如果不是最后一个点,用户“旋转”之后,回调 forward 函数。至此,全部代码解释完毕,很短的代码量,却做出了这么大的工程!

相信看了这些案例你已经掌握了方法,更多精彩请关注Gxl网其它相关文章!

相关阅读:

手机端怎样用rem+scss做适配

canvas如何实现github404动态

热心网友 时间:2022-05-12 02:59

小白如何利用工具制作自己的h5小程序?

1、提前注册h5小程序账号
此时所需准备的资料包括:h5小程序名称,企业营业执照,法人身份证件,h5小程序管理人员姓名及联系方式,以及企业对公账户。
特别是对公账户在后续支付环节未提供的,不能提交支付端口申请。
2、h5小程序的主要功能规划
许多商家认为这是h5小程序开发公司的事,其实,商家企业比较了解自己的行业和消费者,h5小程序应该具备哪些功能,商家最清楚,h5小程序开发公司是在技术实现上帮助商家完善程序细节,使h5小程序更完整。
3、申请域名,提前备案,申请SSL证书
互联网上提供的任何产品或服务都需要购买域名并完成域名备案才能上线,而且备案时间最快也需要20天左右,因此商家需要提前购买好域名,在哪里购买的域名可以直接在平台上申请备案。
为了保证整个用户的生态数据安全,微信h5小程序必须使用HTTPS加密协议,而只有申请了SSL证书,才能实现https数据加密请求的业务域名。
4、提前配置服务器
h5小程序上线前需要购买服务器,然后配置相关的开发环境。服务器一般有两种类型:Windows(适合ASP.NET语言)系统和linux系统(适合JAVA/PHP语言)。具体的服务器配置业者可以根据h5小程序开发公司的推荐进行选择。

当然还有一种更加简单的方法,那就是来这个>>在线小程序制作平台<<,不用单独配置服务器,也不用编写小程序代码,只需要修改小程序模板,就能快速生成自己的h5小程序。

热心网友 时间:2022-05-12 04:17

是想做自己的H5吗,其实是有专业的工具可以用的,比如说意派Epub360。这个工具不需要懂代码,可以做自己的H5作品。因为这是一款专业的H5工具,做出来的效果会比较惊艳,可以看一下他们官网的案例。
做好以后的H5就是一个网址链接,也可以生成一个二维码,但不是一个小程序。这个H5链接,你可以发送给好友或者发送到朋友圈.

热心网友 时间:2022-05-12 05:52

H5小程序?哥们,你没在开玩笑吧?H5是H5,小程序是小程序,两码事,至于如何利用《天客通》工具制作自己的小程序,首先你要先拥有一个已认证的小程序账号,然后授权接入天客通,进行一键制作开发,你要自己选模板,完成DIY编辑后,再到你的小程序官方账号的后台去提交审核发布就OK了
小白如何利用工具制作自己的h5小程序

答案:小白可以通过使用专业的H5小程序开发工具,如微信开发者工具、uni-app等,来制作自己的H5小程序。详细解释:1. 选择合适的开发工具:小白要制作H5小程序,首先需要选择一款合适的开发工具。微信开发者工具是一个很好的选择,因为它提供了丰富的功能和友好的用户界面,适合初学者快速入门。此外,uni-a...

h5生成小程序二维码-小白如何利用工具制作自己的h5小程序

1、首先,一个h5页面,其中包含四个文件,如下图所示。2、其次,由于操作环境不同,为了在编译时和运行时执行一些兼容的操作,需要一个 配置文件 ,如下图所示。3、接着,编写一个名为“”的构建脚本,如下图所示。4、然后,执行先前编写的脚本,如下图所示。5、最后,手机h5页面就转成了微信小程序,如下...

菜鸟小白怎样制作开发微信小程序?

1、先注册公众号、小程序号 如果有已经认证的公众号,可以直接复用资质,快速注册并认证小程序,无需再重复提交资质,无需支付300元认证费用。通过得有店系统可以同步生成H5网站,为保证完整的功能体验,建议使用公众号-服务号,另外,只有服务号才能申请微信支付,开通线上商城,是需要用到交易支付的。按照...

不懂代码,如何快速开发自己的微信小程序

1、在微信公众平台注册一个小程序并且认证 2、注册一个小程序模板平台的账户,上传一下自己商品,生成自己的想要的页面 3、把小程序和模板平台进行绑定,然后提交微信上线 通过小程序模板平台的方式是非常简单的、只需1天左右即可上线完成,看完你也可以去尝试制作一个属于自己的小程序模板吧 ...

【h5开发工具】 h5制作app哪款好?最适合小白的h5页面制作工具!

【h5开发工具】在寻找最适合小白的H5页面制作工具时,我们首先要明确其强大且灵活的交互性,不仅适用于宣传和游戏小程序,其轻便性使其无需占用手机内存,成为涨粉利器。市场上各类工具各有千秋,选择时需考虑实际需求,如活动促销、品牌推广或公众号推广等。步骤1:定位目标并挑选模板,根据产品特性、目标...

如何制作h5模板?H5页面怎么制作及发布

h5制作教程h5的制作方法1、在浏览器中搜索h5页面制作工具,会跳出很多的相关软件,都是可以制作的,这里用易企秀做为案例。2、找到易企秀进入官网,有注册和登录两个方式,可以用微信、QQ、微博来登录或注册,或者用手机号来注册也行。3、点击免费模板,就会出现一系列的模板出来。4、在全部商品分类...

如何制作微信h5小游戏

1.注册并登录活动聚的微信游戏制作平台,注意该平台中的游戏一定要简单好玩,而且游戏管理系统也要完善,能够实现数据分析、兑奖、用户管理等功能,可以先手机模拟测试效果之后再进行选择。2.通过游戏分类或搜索,找到《砸金蛋》微信h5游戏模板,或者使用其他与相关游戏,比如《扭扭蛋》、《刮一刮》《...

如何搭建小程序平台(搭建小程序的方式有几种)

微信小程序怎么搭建1、首先搜索微信公众平台。微信扫码登录后,点击下载微信开发者工具。微信开发者工具下载安装完成后,使用微信登录。可以自己选择微信小程序或游戏。2、点击小程序打开应用,点击发现页面上的小程序。长按小程序找到要设置的小程序,长按它。点击添加到我的小程序弹出选项,点击添加到我的...

uni-app跨端开发H5、小程序、IOS、Android(二):开发工具HBuilderX使用...

另外,代码助手(alt+数字)和语法帮助(F1)都能助你如虎添翼。 多光标批处理(Ctrl+鼠标操作)和列选择(alt+鼠标拖选)等功能,让编辑更流畅。编码选择、转到定义等便捷操作,都在HBuilderX的工具栏中一键可达。 更深层次的定制与扩展 HBuilderX不仅提供基础的快捷键支持,如Alt+d定位代码...

如何将 h5 页面快速转换成微信小程序

1. 使用第三方工具 第三方工具是将H5页面转换成微信小程序页面的最简单、最快捷的方法之一。可以使用现有的工具,例如Mpvue、Taro等,它们提供了一些插件和模板,可以快速地将H5页面转换成微信小程序页面。这些工具使用MVVM框架,使得代码的复用性更强,同时也提高了开发效率。2. 手动实现 如果想要更深入地...

小白如何制作小程序 小白怎么制作微信小程序 自己如何做小程序 如何将h5打包成小程序 h5 调用小程序 如何做一个小程序 如何做小程序 小程序可以自己开发吗 自己搭建小程序商城
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
氯碱是做什么工作的 氯碱厂生产什么 ...九月二十五日早上九时十五分到达,一共花了多久时间。列出算式,谢... ...早上9时从家里出发,下午1时到达目的地。一共行驶了多少时?_百度知 ... 契税完税如何查询 如何查房屋契税 身份证上写的是农历1995 0929的生日 但是新历的9月29过了 可以算成年吗... 我要咨询我的牙齿 牙龈起泡是否缺少什么营养?还是一种病情? ...因为我经常这样,是不是身体哪个缺少什么元素了? 力蕴汽车金融官网我在你们公司贷款156000,分24期还款已经还15期,并且不... 如何使用HTML5开发一个微信小程序? excel求和求不出来怎么办?求大神赐教。 为什么我EXCEL求和不成功? 涓轰粈涔堟垜镓嬫満鍒囨崲鍏跺畠绋嫔簭镞讹紝椋炰俊镊&#xFFFD;姩鍏% 电脑如何开卓越性能 龙岩泡鸭爪的配方 泡鸭爪怎么做好吃 龙岩泡鸭爪做法和材料是什么? 陈氏泡鸭爪的配料~做法? 怎样用醋辣椒做出又香又辣的鸭爪 泡鸭爪(泡鸭掌)怎么做 iphone怎么用拼音方式快速查找电话本 电话薄怎么用拼音搜索不了联系人呢? 为啥腾讯通的联系人都是拼音不是汉字 电话号码联系人姓名全部变成拼音怎么办 泡鸭爪需要些什么配料?泡鸭爪怎么做? 拼音无法检索联系人 陈醋鸭脚的做法大全 为什么域名联系人是拼音 联系人查找时候只能用拼音吗? 怎么让联系人按照拼音的首字母排序啊 微信怎么样设置指纹支付密码 成人学历提升规划? 低学历该如何规划自己? 学历规划,望各位帮助? 初中学历可以有什么样的职业规划? 学历规划提升? 我现在想提升学历 需要怎么计划 毕业选择就业还是学历提升? 对孩子学历提升有什么规划 人生和学历规划,求高人指点?、、、、 28岁,没有学历,该如何规划自己的人生 女生低学历,该如何有个明确方向去规划未来? 26岁男低学历怎样规划未来前景更好?求方法!! 鎴戜笐鍟怎么读? 学历规划师是做什么的 怎样删除手机使用流量排行? 红米k30手机流量排行怎么删除 流量排行怎么手动清零? 小米如何删除流量排行 怎样删除小米手机流量排行记录?