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

县城购物网站创建一个网站所需的成本

县城购物网站,创建一个网站所需的成本,网站建设公司 腾佳,手机版免费申请微网站界面上的Node节点#xff1a; 背景 警戒线 三面墙 初始位置节点 水果容器 先分组吧#xff0c;墙 地板 水果 创建预制体 先挂一个脚本 刚体碰撞器先弄上再说 import { _decorator, Component, Node } from cc; const { ccclass, property } _decorator;ccclass(FruitData) e…界面上的Node节点 背景 警戒线 三面墙 初始位置节点 水果容器 先分组吧墙 地板 水果 创建预制体 先挂一个脚本 刚体碰撞器先弄上再说 import { _decorator, Component, Node } from cc; const { ccclass, property } _decorator;ccclass(FruitData) export class FruitData extends Component {//水果的Id 区分哪一种水果的fruitId: number 0;//水果的碰撞次数 主要记录水果的状态用的contactNum: number 0;//是否合成isSynthesis: boolean false; } 再建一个脚本开始折腾走起 property({ type: Node, displayName: 水果生成的位置 })fruitStart: Node null;//大小随便位置合理就行不行就大小[0,0]property({ type: Node, displayName: 水果的父节点 })fruitRoot: Node null;//水果容器property({ type: [Prefab], displayName: 水果的预制体 })fruitPrefabs: Prefab[] [];//一堆水果的预制体//存储临时节点方便计算用currentFruit: Node null;property({ type: Node, displayName: 警告 })WarnningLine: Node null; 开始游戏了 start() {//创建一个随机水果前两前三的this.createRadomFruit();//加上触摸监听 看api好像input比node监听使用范围广input.on(Input.EventType.TOUCH_START, this.onTouchStart, this);input.on(Input.EventType.TOUCH_END, this.onTouchEnd, this);} 创建水果了 createRadomFruit() {const fruitId: number Math.floor(Math.random() * 3);const fruitNode: Node instantiate(this.fruitPrefabs[fruitId]);fruitNode.setPosition(this.fruitStart.position);//禁用刚体用来监听移动事件后再开启fruitNode.getComponent(RigidBody2D).enabled false;fruitNode.getComponent(RigidBody2D).gravityScale 2;//赋值fruitNode.getComponent(FruitData).fruitId fruitId;fruitNode.getComponent(FruitData).contactNum 0;//监听碰撞const collider2D: Collider2D fruitNode.getComponent(Collider2D);collider2D.on(Contact2DType.BEGIN_CONTACT, this.onBeginContact, this);fruitNode.setParent(this.fruitRoot);//用一个临时的Node来存储这个节点方便操作this.currentFruit fruitNode;} 两个监听 //收到点击事件后水果位置平移onTouchStart(event: EventTouch) {//放置连续点击if (!this.currentFruit) return;//可以看看这个https://blog.csdn.net/weixin_44053279/article/details/129568612//获取 UI 坐标系下的触点位置const touchPos event.getUILocation();//记住 是父节点 可以搜一下坐标空间转换const parentPos this.fruitRoot.getComponent(UITransform).convertToNodeSpaceAR(v3(touchPos.x, touchPos.y, 0));//这是个节点位置 position现在是个静态的 拿不到.xconst fruitPos this.currentFruit.getPosition();fruitPos.x parentPos.x;// 防止穿透还是用tween动画吧// this.currentFruit.setPosition(fruitPos);tween(this.currentFruit).to(.3, { position: fruitPos }).start();}onTouchEnd(event: EventTouch) {//放置连续点击if (!this.currentFruit) return;this.currentFruit.getComponent(RigidBody2D).enabled true;this.currentFruit null;//延时一下 生成下一个this.scheduleOnce(this.createRadomFruit, 2);//用来检测是否超过预期位置没this.scheduleOnce(this.checkGameOver, 2);} 碰撞检测 //3.8 .d.ts中没给监听的参数//https://forum.cocos.org/t/topic/158425onBeginContact(selfCollider: Collider2D, otherCollider: Collider2D, contact: IPhysics2DContact | null) {const selfFruitData selfCollider.getComponent(FruitData);const otherFruitData otherCollider.getComponent(FruitData);if (otherCollider.group Math.pow(2, 1)) {selfCollider.getComponent(FruitData).contactNum 1;otherCollider.getComponent(FruitData).contactNum 1;}if (otherCollider.group Math.pow(2, 3)) {selfCollider.getComponent(FruitData).contactNum 1;}if (otherCollider.group ! Math.pow(2, 1)) return;//Id相同 未合成 否则也返回if (selfFruitData.fruitId ! otherFruitData.fruitId) return;if (selfFruitData.isSynthesis || otherFruitData.isSynthesis) return;selfFruitData.isSynthesis true;otherFruitData.isSynthesis true;//合成后的新水果const synthesisFruitId selfFruitData.fruitId 1;const synthesisFruitPos selfCollider.node.position;//https://blog.csdn.net/loveyoulouyou/article/details/127583198this.scheduleOnce(() {otherCollider.getComponent(RigidBody2D).enabled false;selfCollider.getComponent(RigidBody2D).enabled false;tween(otherCollider.node).to(.2, { position: synthesisFruitPos }).to(.2, { scale: new Vec3(1.2, 1.2, 1) }).parallel().call(() {//碰撞后立即实例化会报错给一个延时器tween动画都可以this.createSynthesisFruit(synthesisFruitId, synthesisFruitPos);}).call(() {selfCollider.node.destroy();otherCollider.node.destroy();}).start();}, 0.1);}; 合成的逻辑 createSynthesisFruit(synthesisFruitId: number, synthesisFruitPos: Vec3) {const SynthesisNode: Node instantiate(this.fruitPrefabs[synthesisFruitId]);//刚体碰撞 回弹可能造成穿透效果synthesisFruitPos.y 10;SynthesisNode.setPosition(synthesisFruitPos);SynthesisNode.getComponent(RigidBody2D).enabled false;SynthesisNode.getComponent(FruitData).contactNum 0;SynthesisNode.getComponent(RigidBody2D).gravityScale 2;//赋值SynthesisNode.getComponent(FruitData).fruitId synthesisFruitId;//监听碰撞SynthesisNode.getComponent(Collider2D).on(Contact2DType.BEGIN_CONTACT, this.onBeginContact, this);SynthesisNode.setParent(this.fruitRoot);this.scheduleOnce(() {//立即改变刚体状态也会报错给一个延时SynthesisNode.getComponent(RigidBody2D).enabled true;SynthesisNode.getComponent(FruitData).contactNum 1;if (synthesisFruitId this.fruitPrefabs.length - 1) {// if (synthesisFruitId 3) {console.log(胜利了);this.reStartGame();}}, .1);} 检测是否要结束游戏 //遍历所有水果比较高度checkGameOver() {const warnningLinePos this.WarnningLine.getPosition();for (let i 0; i this.fruitRoot.children.length; i) {const element this.fruitRoot.children[i];//水果没下落呢if (element.getComponent(FruitData).contactNum 0) continue;if (element.getPosition().y warnningLinePos.y - 300) {console.log(游戏警告);}if (element.getPosition().y warnningLinePos.y) {console.log(游戏结束);break;}}} 重新开始 //重新开始reStartGame() {this.fruitRoot.removeAllChildren();this.createRadomFruit();} 就这样了没写其它的逻辑刚体有点乱不要立即改变一些东西总之就是要么用计时器要么tween一下。
http://www.hkea.cn/news/14386531/

相关文章:

  • 西安市城乡建设管理局网站6做网站服装app
  • 网站提高内容的丰富度创意大学网站方案设计
  • 昆明北京网站建设济宁企业做网站
  • 聊城网站建设价格网站开发常用png
  • 兰州西固区网站建设平台电商网站建设咨询
  • 湖北网站建设没有设计稿做网站
  • 公司网站建设的项目工作分解结构广东官网建设公司
  • 知乎的网站建设和网站运营无锡做网站公司哪家比较好
  • 一个服务器可以做几个网站物流建设网站
  • 昆明网站建设推广北京建设工程二级市场网站
  • 网站模块设计软件如何注册个人工作室
  • 整容网站模板如果做京东优惠卷的网站
  • 关于工程项目建设的网站wordpress菜单导航栏透明
  • 网站功能组件wordpress cms列表
  • 免费做公司电子画册的网站中山网站建设文化价格
  • 三合一网站管理系统外链兔
  • 做执法设备有哪些网站瑞安做网站多少钱
  • 创一个网站怎样赚钱做系统和做网站哪个简单一些
  • 阿里云网站模板送域名深圳展览公司排行
  • 专做海报设计的网站绵竹移动网站建设
  • 福州快速网站建设wordpress获取视频缩略图
  • 网站建设合同doc哪个网站做房子团购
  • 上海市嘉定区建设银行网站低价自适应网站建设优化建站
  • 高端做网站多少钱android网站客户端开发
  • 镇江网站建设流程做网站推广哪家公司好
  • 西安有专业制作网站的公司吗瀑布流分享网站源代码下载
  • 成都手机网站建设报价表扬州又出现一例
  • 建设淘宝客网站源码怎么弄有经验的顺德网站建设
  • 建网站哪家好案例网站建设会考什么
  • 公司招聘网站排行榜成都网页设计培训中心