当前位置: 首页 > news >正文

微信小程序从云开发到上线

文章目录

  • 一、创建项目
  • 二、云函数
  • 三、静默登录
  • 四、获取用户信息
  • 五、使用缓存
  • 六、同页面数据操作
  • 七、不同页面数据传递
  • 八、页面跳转
  • 九、检查版本更新
  • 十、上线

​ 前段时间自己做了一个云开发微信小程序,发现并不复杂,有前端基础的可以试一下。这里主要简单说明一下开发过程,更多内容可以在其他地方查看资料。

微信开放文档 (qq.com)

一、创建项目

1.使用微信小程序新建项目

(1)小程序注册,获取AppID

点击该链接,注册完成后,登录后点击“开发”,“开发设置”,找到”开发者ID“里面”AppID“

小程序 (qq.com)

(2)开发者工具

打开开发者工具,扫码登录后,点击新建项目,修改项目信息。主要填入自己的AppID和选择云开发。

可以不用一开始就选择云开发,后面可以再修改。

下载地址 稳定版 Stable Build | 微信开放文档 (qq.com)

2.配置环境id

​ app.js文件中将env环境替换为自己的环境id,点击微信开发工具的“云开发”,再点击“设置”,可以查看。

3.添加tabBar

​ 在app.json文件中添加 tabBar

"tabBar": {"list": [{"pagePath": "pages/index/index", // 页面路径"iconPath": "image/binggan.png", // 图标路径"selectedIconPath": "image/binggan-active.png", // 选中后图标路径"text": "首页" // 文字},{"pagePath": "pages/logs/logs","iconPath": "image/danhuang.png","selectedIconPath": "image/danhuang-active.png","text": "日志"}]},

此处建议看猫一宁视频

【2020云开发+源码】(上) 30分钟创建并上线微信小程序实战项目 | 零成本 | 云数据库 | 云函数_哔哩哔哩_bilibili

二、云函数

1.云函数

(1)新建:右击cloudFunctions点击新建node.js云函数

(2)初始化:在JS文件中,在cloud.init()中的增加环境id

cloud.init({env: cloud.DYNAMIC_CURRENT_ENV
})

(3)更新:右击JS文件,点击“云函数增量上传:更新文件”

(4)编写:内容较多,可查看微信官方的开发文档

注意:在云函数中使用event.XX获取页面传递过来的值,XX为传递的值;

云函数访问数据库参考:

exports.main = async(event, context) => {let openid = event.openidlet pagenum = event.pagenumreturn await db.collection(’todo‘).where({openid: openid,show: true}).field({completed: true,title: true}).orderBy('startTime', 'desc').skip(pagenum).limit(8).get()
}

​ 这是一个获取数据的请求,包括数据范围,选择返回的数据、时间排序、限制条数、跳过条数

2.访问云函数

可以参考下面静默登录中的写法。

三、静默登录

1.云函数

​ 先完成云函数的新建和初始化,微信小程序可以直接获取用户的openid和其他身份标识,这里只获取openid,在云函数入口函数添加下面代码。

  try {const wxContext = cloud.getWXContext()return {openid: wxContext.OPENID,}} catch (e) {console.log(e)}

2.首页的JS文件

getOpenid() {// session_key 已经失效,需要重新执行登录流程wx.cloud.callFunction({name: 'login',complete: res => {app.globalData.openid = res.result.openidthis.setData({openid: res.result.openid})this.getData()}})},

四、获取用户信息

​ 微信小程序经过修改,现在推荐用getUserProfile,可以使用点击的形式触发该函数,函数触发会询问用户是否同意,用户同意后即可获得用户信息,得到的息是基本的用户信息,还有更多的用户信息获取可以查看开发文档。

getUserProfile() {// 推荐使用wx.getUserProfile获取用户信息wx.getUserProfile({desc: '展示用户信息',// 获取openidsuccess: (res) => {this.setData({userInfo: res.userInfo, // res.userInfo为返回的用户信息})}})}

五、使用缓存

​ 关于缓存,个人推荐使用带Sync的同步版本,异步版本容易出错

1.缓存信息

try {wx.setStorageSync('userInfo', data)
} catch (e) {}

2.获取缓存

  getStorage() {try {var userInfo = wx.getStorageSync('userInfo')// 判断缓存是否存在if (userInfo) {// 存在,获取缓存this.setData({openid: userInfo.openid})}// 保存用户信息到app.globalData中app.globalData.userInfo = userInfo} catch (e) {}},

六、同页面数据操作

​ 1.JS文件中的数据传递

同一JS文件中,数据通过page({})里面的data来保存,以userInfo为例

 data: {userInfo: {}}

获取:

userInfo = this.data.userInfo

修改:

this.setData({userInfo: res.data
})

2.html页面与JS的数据传递

(1)JS文件中data的数据改变后,会自动反应到wxml文件,即在页面中展示出来

(2)html在中数据获取,以点击事件获取id为例

​ wxml组件的button中设置点击事件,同时设置自定义data-id 属性:

catchtap = "delData" data-id="{{item._id}}

​ js文件中:

id = e.target.dataset.id

​ 通过id来找到对应数据,修改JS中的数据来实现页面变化

(3)表单

​ 多个数据获取,需要使用表单,具体查看开发文档。

七、不同页面数据传递

1.在app.js文件的APP({})里面插入globalData,以userInfo为例

 globalData: {userInfo: null}

2.获取和修改

​ (1)先在该页面的JS文件的page({})前面添加

const app = getApp()

​ (2)获取:

userInfo = app.globalData.userInfo

​ (3)修改:

app.globalData.userInfo = userInfo

八、页面跳转

1.navigateTo

​ 跳转到非tab页面,可以传递和接收数据,以下为简单的跳转,实现跳转和传递一个数据。

wx.navigateTo({url: '../editText/index', // 页面相对路径events: {},success: (res) => {res.eventChannel.emit('acceptDataFromOpenerPage', data)}})

2.wx.reLaunch

​ 关闭了内存中所有保留的页面,再跳转到目标页面,路径后面接参数。注意:已打开过的页面会重新加载。

wx.reLaunch({url: '../idea/index?id=1'
})

3.wx.switchTab

​ 跳转到tab页面,已打开过的页面不会重新加载,相当于重新展示页面,数据可以通过app.globalData传递,在onShow钩子函数中定义相关逻辑。

wx.switchTab({url: '../idea/index'
})

​ 注意:做页面跳转的时候,需要注意不同的API对跳转的页面类型有限制。这里只说明基本使用,更多说明和其他跳转API可以查看开发文档。

九、检查版本更新

在app.js文件中增加函数

 getUpdate() {if (wx.canIUse('getUpdateManager')) {const updateManager = wx.getUpdateManager()updateManager.onCheckForUpdate(function(res) {// 请求完新版本信息的回调if (res.hasUpdate) {updateManager.onUpdateReady(function() {wx.showModal({title: '更新提示',content: '新版本已经准备好,是否重启应用?',success: function(res) {// res: {errMsg: "showModal: ok", cancel: false, confirm: true}if (res.confirm) {// 新的版本已经下载好,调用 applyUpdate 应用新版本并重启updateManager.applyUpdate()}}})})updateManager.onUpdateFailed(function() {// 新的版本下载失败wx.showModal({title: '已经有新版本了哟~',content: '新版本已经上线啦~,请您删除当前小程序,重新搜索打开哟~'})})}})}},

十、上线

1.上线前:

(1)可以先点击真机测试,扫二维码在手机上进行调试

(2)登录微信公众平台,完善“设置”里面的基本信息,添加项目人员,上传代码后,可以在“管理”,“版本管理”设置为体验版本,“成员管理”里面添加体验人员,让更多人体验小程序,找出问题。

2.上线

提交代码后,要登录微信公众平台,点击“管理”里面的“版本管理”,拉到最下面的开发版本,点击提交审核

注意:

(1)个人小程序不能涉及社交类(就是用户的数据不能分享),个人制作可以在审核里面注明一下;

(2)微信小程序审核速度很快,本人提交最快在一小时内(中午)完成审核。

微信公众平台 (qq.com)

如有问题,可以在评论中提出。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.exyb.cn/news/show-35335.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈,一经查实,立即删除!

23种设计模式

一、什么是设计模式 设计模式(Design pattern)是一套被反复使用、多数人知晓的、经过分类编目的、代码设计经验的总结。使用设计模式是为了可重用代码、让代码更容易被他人理解、保证代码可靠性。 毫无疑问,设计模式于己于他人于系统都是多…...

Nacos 2.0.2正式版发布

一、介绍Nacos Nacos 致力于帮助您发现、配置和管理微服务。Nacos 提供了一组简单易用的特性集,帮助您快速实现动态服务发现、服务配置、服务元数据及流量管理。 Nacos 帮助您更敏捷和容易地构建、交付和管理微服务平台。 Nacos 是构建以“服务”为中心的现代应用…...

spring框架的各种注解基本意思

//在 spring 配置文件中开启生成代理对象 <!-- 开启 Aspect 生成代理对象--> <aop:aspectj-autoproxy></aop:aspectj-autoproxy>Autowired //根据属性类型进行自动装配 Aspect //生成代理对象 Qualifier //根据名称进行注 Resource //可以根据类型注…...

【Java45】旅游案例:数据回显,注销/退出,首页类别显示,精选

文章目录1.登陆数据回显1.1 前端2.登陆案例_注销/退出3.首页类别显示3.1 web3.2 service3.3 dao4.精选4.1 web4.2 service4.3 dao4.4 前端1.登陆数据回显 如上前端写在header.html中。 1.1 前端 //header.html <!-- 头部 start --><header id"header2"&g…...

简单介绍下Python解释器

当我们编写Python代码时&#xff0c;我们得到的是一个包含Python代码的以.py为扩展名的文本文件。要运行代码&#xff0c;就需要Python解释器去执行.py文件。 由于整个Python语言从规范到解释器都是开源的&#xff0c;所以理论上&#xff0c;只要水平够高&#xff0c;任何人都…...

出现了,Mac也可以玩的简单扫雷(1.0版本)

总体思路: 1.随机生成雷区 2.将每一个方块旁边有几个雷的数量算出来 3.不断的输入想要翻的方块 4.判断是否输赢 5.改变此方块的状态 直接上代码: #include <iostream> #include <ctime> #include <chrono> //计时头文件 #include <string.h> …...

axios跨域问题

项目配置 vue-cli3vue2element-ui-2.15.3 在网上找了很多方案&#xff0c;但是都没有生效&#xff0c;最后是前端添加了一段代码&#xff0c;后台添加了一段代码 解决了 添加了headers的配置 const instance axios.create({// baseURL: http://mall.huolida.com/,// baseUR…...

原创-Kafka原理

Kafka原理 2017年09月22日 22:39:45317人阅读 评论(0) 收藏 举报 分类&#xff1a; Kafka&#xff08;1&#xff09; 目录(?)[] Kafka 这段时间研究RabbitMQ、Kafka、RocketMQ消息队列&#xff0c;发现对她们原理的介绍都过于简单&#xff0c;所以整理了众多资料&…...

ef dbcontext

dbcontext class 用来crud数据库&#xff0c;也用来配置实体类&#xff0c;关系映射&#xff0c;缓存&#xff0c;事务&#xff0c;变化追踪等 using System.Data.Entity;public class SchoolContext : DbContext {public SchoolContext(){}// Entities public DbSet&l…...

C语言中的整型提升

C语言中的整型提升 提到整型提升,可能刚学c语言的小伙伴们很头疼这个知识点吧,下面我就我的理解简单分析一下整型提升是怎么回事. 首先还是介绍一下整型提升的概念: ​ c的整型算术运算总是至少以缺省整型类型的精度来进行的. 为了获得这个精度,表达式中的字符和短整型操作数在…...

Dubbo(一)项目架构演变过程

Dubbo&#xff08;一&#xff09;项目架构演变过程架构演变过程单体架构垂直架构SOA&#xff08;分布式架构&#xff09;微服务架构架构演变过程 dubbo是一款高性能的java rpn框架。 随着互联网的发展&#xff0c;用户群体逐渐壮大&#xff0c;网站的流量成倍增长&#xff0c;…...

Nuxt 项目完结总结

1、状态保存&#xff0c;即localstorage。 这里选择了 nuxt-vuex-localstorage&#xff08;^1.3.0&#xff09; 来做store的持久化保存。 modules: [nuxtjs/style-resources,nuxtjs/axios,[nuxt-vuex-localstorage,{localStorage: [localStorage]}] ] 2、登录token保存&…...

浅入浅出实现一个异步求和函数

简化&#xff1a;两数之和 我们先来简单的实现一个异步两数之和函数 function sumT(a, b) {return await new Promise((resolve, reject) > {asyncAdd(a, b, (err, res) > {if(!err) {resolve(res)}reject(err)})}) }// 测试 const test await sumT(1, 2) console.log…...

入门图形学:屏幕波爆特效

最近bilibili看了黑神话悟空的UE5演示视频&#xff0c;感觉是真牛逼&#xff0c;地址&#xff1a;黑神花悟空UE5实机演示视频 遥想我也算是国内第一批用ue4的开发者了&#xff0c;15年开始用ue4.7源码版&#xff0c;做了一年多就又用回u3d了&#xff0c;哈哈&#xff0c;主要因…...

unity学习笔记(一)

unity基础简介&#xff08;一&#xff09; unity是如何跨平台的&#xff08;附c和c#编译过程&#xff09; 前言 游戏引擎为了兼顾易用性和性能&#xff0c;往往使用一种高效率语言编写核心&#xff0c;使用另一种高级语言作为脚本语言&#xff0c;大部分游戏引擎的底层核心由…...

浮动布局,定位布局,伸缩盒布局

布局 默认文档流 1.元素显示的顺序和代码的顺序是一致的 2.块级元素独占一行空间&#xff0c;默认宽度为父元素的100%&#xff0c;高度由内容或者子元素决定 3.行内元素共享一行空间&#xff0c;默认宽高都由内容决定 浮动布局 float&#xff08;如果一个元…...

Python大数据分析学习基础篇(3)——数据结构

一、函数部分 1、闭包 所谓闭包其实跟回调函数有有相通之处。闭包可以延长作用时间和作用域。 def say(word):def name(name):print(word,name)return name hi say(你好) hi("小明") bye say("再见") bye("小明 ") 运行结果&#xff1a; …...

SQL 之共同使用ip用户检测问题【自关联问题】-HQL面试题48【拼多多面试题】

目录 0 问题描述 1 数据分析 2 小结 0 问题描述 1 数据分析 (1)数据准备 create table log (uid string,ip string,time string )row format delimited fields terminated by \t;insert into log values (a, 124, 2019-08-07 12:0:0), (a, 124, 2019-08-07 13:0:0), (b, 1…...

thinkphp6 通过命令行快速生成多应用模块报 【Command “build“ is not defined.】错误的解决办法

在项目下执行如下命令 php think build admin报如下错误 [rootlocalhost orange]# php think build admin[InvalidArgumentException] Command "build" is not defined. 解决办法&#xff1a; 1.查看官方文档&#xff1a; https://www.kancloud.cn/manual…...

线程的安全性 - 并发基础篇

简介 当多个线程访问某个类时&#xff0c;这个类始终都能表现出正确的行为&#xff0c;那么就说这个类是线程安全的。 目录 这次分三步走&#xff1a;关于相关知识点&#xff0c;放在文末的脑图里了&#xff0c;大家想看结论的&#xff0c;可直接下拉观看哦。 1.创建一个线…...

P4173 残缺的字符串

P4173 残缺的字符串 题意&#xff1a; 有A&#xff0c;B两个串&#xff0c;每个串都有通配符&#xff0c;问A为模板串&#xff0c;对于 B 的每一个位置 i&#xff0c;从这个位置开始连续 m 个字符形成的子串是否可能与 A 串完全匹配&#xff1f; 题解&#xff1a; 我们定义…...

祥云杯部分pwn的wp

lemon 主要问题是2.26版本下, 未控制好指针导致任意写 数据结构如下: lemon_name: lemon_content: 主要可利用的函数是color: 里的buf是指lemon_name结构, 所以可以控制指针lemon_addr的指向了, 因为只能用一次所以想控制整个tcache结构 其它一点可利用的函数: 开头的一次…...

OverScroll介绍

OverScroll OverScroll作用 首先&#xff0c;OverScroll虽然内置了很多看起来像执行滑动效果的方法名&#xff0c;比如startScroll(int, int, int, int),springBack(int, int, int, int, int, int)等等&#xff0c;但是他们并不实际执行滑动效果&#xff0c;只是用于辅助计算…...

TensorFlow项目1——鸢尾花识别(来源:北大曹健老师tensorflow学习视频)

项目1.鸢尾花识别 1.完整代码 import matplotlib.pyplot as plt from sklearn import datasets from pandas import DataFrame import pandas as pd import numpy as np import tensorflow as tf# 数据处理 #1.读取iris数据&#xff08;sklearn已有&#xff09; #2.随机打乱&…...

1.5 异常

什么是异常 异常就是在程序运行期间&#xff0c;因为某些原因导致程序出现了错误的情况。 异常封装了三个重要信息: 类型&#xff0c;信息&#xff0c;行号 异常的简单继承结构 Throwable |- Error 系统级别的错误&#xff0c;无法处理&#xff0c;只能停止运行 |- Excepti…...

使用朴素贝叶斯过滤垃圾邮件

示例&#xff1a;使用朴素贝叶斯对电子邮件进行分类(1) 收集数据&#xff1a;提供文本文件。(2) 准备数据&#xff1a;将文本文件解析成词条向量。 (3) 分析数据&#xff1a;检查词条确保解析的正确性。(4) 训练算法&#xff1a;使用我们之前建立的trainNB0()函数。(5) 测试算法…...

链表反转。

举个例子来分析一下如何实现链表的反转。 链表示例&#xff1a;9—>6—>8—>7—>1—>null。 1&#xff09;首先定义两个指针cur、pre分别指向链表头和链表尾。 2&#xff09;定义一个临时指针&#xff0c;指向cur.next。 3&#xff09;修改cur指针的指向&#x…...

day01_java常识丶环境搭建丶入门程序

Java语言发展历史 Java诞生于SUN&#xff08;Stanford University Network&#xff09;&#xff0c;09年SUN被Oracle&#xff08;甲骨文&#xff09;收购。Java之父是詹姆斯.高斯林(James Gosling)。1996年发布JDK1.0版。 目前最使用最多的版本是Java8。 ​ Java技术体系平台 …...

C++类的讲解(一)(超详细)

C类的讲解 1、面向对象和类的介绍 1&#xff09;面向对象 C语言使用面向过程的编程方式&#xff0c;而C则增加了面向对象的编程方式。 面向过程&#xff1a;分析出解决问题所需要的步骤&#xff0c;然后用函数把这些步骤一步一步实现&#xff0c;使用的时候一个一个依次调用就…...

KNN算法基础教学

目录 1、KNN算法概述 2、什么是knn算法 3、算法原理解析 3.1、通用步骤 3.2、k的取值对预测结果的影响 3.3、k的选取 4、实战应用 &#xff08;癌症检测数据&#xff09; 完整代码&#xff1a; 1、KNN算法概述 KNN可以说是最简单的分类算法之一&#xff0c;同时&#xff0…...

基于SSM框架的借阅图书管理系统

目录 一、功能 二、开发环境 三、系统项目文件组织结构 四、数据库设计 1.用户表 2.图书表 3.借阅记录表 五、页面展示 1.登录页面 2.用户端 3.管理员端 六、源码 一、功能 本系统后台使用SSM框架编写&#xff0c;前台页面使用当前主流的Bootstrap和jQuery框架编写…...

基于JAVA民宿客栈管理系统计算机毕业设计源码+系统+mysql数据库+lw文档+部署

基于JAVA民宿客栈管理系统计算机毕业设计源码系统mysql数据库lw文档部署 基于JAVA民宿客栈管理系统计算机毕业设计源码系统mysql数据库lw文档部署本源码技术栈&#xff1a; 项目架构&#xff1a;B/S架构 开发语言&#xff1a;Java语言 开发软件&#xff1a;idea eclipse 前…...

[附源码]计算机毕业设计JAVA民宿客栈管理系统

[附源码]计算机毕业设计JAVA民宿客栈管理系统 项目运行 环境配置&#xff1a; Jdk1.8 Tomcat7.0 Mysql HBuilderX&#xff08;Webstorm也行&#xff09; Eclispe&#xff08;IntelliJ IDEA,Eclispe,MyEclispe,Sts都支持&#xff09;。 项目技术&#xff1a; SSM mybati…...

SpringMVC学习---第二课

SpringMVC学习---第二课SpirngMVC注解式开发注解对请求提交方式的定义五种数据的提交方式请求参数中文乱码问题的解决处理器方法的返回值SpringMVC的四种跳转方式SpringMVC支持的默认参数类型SpringMVC的拦截器拦截器说明拦截器的应用场景拦截器执行原理SpirngMVC注解式开发 注…...

vue elementui 将data中数据恢复到初始化状态

this.name this.$options.data(&#xff09;.name 这里的name可以是你想恢复到最初data里定义的初始化状态的数据名称。 获得name的初始化数据再赋值给现在的name...

mysql 误清空表 恢复数据

把今天一不小心把订单表清空&#xff0c;怎么恢复数据的记录下来 首先mysql需要开启bin-log&#xff0c;我的是宝塔面板&#xff0c;默认开启 接下来 进入到宝塔的www/server/data 控制台输入find / -name mysqlbinlog -print 找到binlog地址 然后软连到usr/bin ln -fs …...

mysql redo log 数据恢复_MySQL 怎么样恢复丢失的数据?redo log 写磁盘的过程

在生活中&#xff0c;你一定有过类似这样的经历&#xff1a;比如部门发礼品、或者说学校发课本。如果在发放的时候&#xff0c;大家一窝蜂的涌了过来&#xff0c;毕竟双拳双敌四手&#xff0c;渐渐你就招架不过来。为了工作更好做&#xff0c;你会有几个选择&#xff0c;提前打…...

mysql删除的表格怎么还原_mysql删除的表格怎么恢复数据

2017-03-08 回答有两种方法&#xff0c;一种方法使用mysql的check table和repair table 的sql语句&#xff0c;另一种方法是使用mysql提供的多个myisamchk, isamchk数据检测恢复工具。前者使用起来比较简便。推荐使用。1. check table 和 repair table登陆mysql 终端&#xff1…...

数据恢复如何看异或问题

如何看异或问题 从图中可看出INDX被被左右反转后的样子。 当然了&#xff0c;除了左右反转等异或&#xff0c;更多的就是ADD和XOR的异或问题 接下来演示一下如何二次解密 一个被二次异或的DOC文档 接下来我们使用winhex将他打开 如图我们看出了此文档一定是被异或了 通常DOC…...

打破砖墙 maya动力学

设置小球运动关键针动画...

MySQL更新一条已经存在的sql语句是怎么执行的

MySQL更新一条已经存在的sql语句是怎么执行的1. 问题描述2. 分析验证1. 问题描述 今天看到一个有意思的问题&#xff0c;就是Mysql更新一条已经存在的语句是怎么执行的&#xff0c;结果显示&#xff0c;匹配(rows matched)了一行&#xff0c;修改(Changed)了0行。&#xff0c;…...

maya动力学,铁锤碎墙

...

Maya---反向动力学

按t键可以手动操作 改为0时&#xff0c;ik无法使用 取消勾选时&#xff0c;ik无法使用 改为1则可以使用 捕捉不勾选时&#xff0c;拉伸后坐标不回归原位 属性面板同样有该选项 按住d键操作 勾选后则不能进行更改 手臂使用有指向的IK 用单链来制作拉伸...

Maya XGen动力学动画常用参数

import maya.cmds as cmdsdyn_name = Fu hairSystem_shape = hairSystemShape1 nucleus = nucleus1dyn_point = [(0.503,0.946,0), (0.206,0.054,0), (0.949,0.649,0), (0.057,0.649,0), (0.8,0.054,0), (0.503,0.946,0)] attr_ctrl = cmds.curve(d=1, p=dyn_point, n={}_{}.f...

建模软件maya制作水的动力学,你看懂了吗?

FX粒子和动力学 使用的软件&#xff1a;maya 开始要创建水的动画,我需要一些几何体来模拟我的水。首先要创建一个玻璃杯和一个瓶子&#xff0c;将瓶子里的水倒入杯中&#xff0c;重要的是要保持模型不变形&#xff0c;这是非常重要的。要确保单位是厘米&#xff0c;然后我模拟…...

关于maya动力学系统的一些总结

maya动力学有以下几套系统&#xff1a;1.刚体、柔体系统刚体系统的典型节点连接方法如下&#xff1a;物体的变换节点、形状节点连接rigidBody节点&#xff0c;刚体节点输出力到解算器节点&#xff0c;解算器输出新的变换到变换节点值得注意的是柔体系统实际上是用粒子实现的&am…...

Maya使用动力学曲线驱动骨骼

接上篇将骨骼均匀放置在曲线后&#xff0c;设置动力学驱动骨骼。需要说明的是&#xff0c;由于动力学化曲线以后&#xff0c;会自动创建出一条曲线作为动力学曲线。原有的曲线仅仅作为动力学曲线开始位置。由于我没有找到返回创建的曲线名称的方法。所以手动的复制了一条曲线链…...

货车轴型

轴型的定义 货车轴型由一串代码表示&#xff1a;例如122&#xff0c;15。每一个阿拉伯数字代表一组轴的类型。不同阿拉伯数字代表的轴类型如下表所示&#xff1a; 表中名词解释&#xff1a; 双轮&#xff1a;表示轴的每一侧都有两个并行的轮胎。并装双轴&#xff1a;这是两根…...

算法日常训练12.4(最接近目标价格甜点成本)

只能说回溯实在是诡异&#xff0c;刚看到这题目思路一点不清晰&#xff0c;想着用回溯想到一点写一点&#xff0c;就这样诡异的出来了。 主要回溯思想&#xff0c;由于冰淇淋基料只能选一种&#xff0c;那就对数组遍历&#xff0c;每次对一种冰淇淋基料继续回溯&#xff0c;用r…...

智能车 PID 调试

智能车 PID 调试 文章目录智能车 PID 调试学习目的开环控制与闭环控制开环控制闭环控制小结PID 概述简介PID 公式&#xff1a;舵机 PID分析算法电机 PID分析算法调试口决注意事项学习目的 使电机速度和舵机转向更精准&#xff0c;有利于导航控制。利用传感器反馈值实现闭环控制…...