记录cocos的基本操作-控制角色移动

安装编辑器

编辑器的版本可以任意选择

编辑器写的代码在其他版本的编辑器是无法打开的,尽量选择最新的编辑器进行使用

新建节点

可以在项目中新建需要用到的节点,这里新建一个Sprite 类型的小方块来使用

初始化是一个可以配置图片的方块,这里直接给他加上颜色接口

新建控制器脚本

如果我们想要对小方块做一些操作事件,就必须用到脚本来控制

那么我们可以通过新建的ts脚本并且绑定到小方块的身上就可以实现对小方块的控制

scala 复制代码
import { _decorator, Component, Node } from 'cc';
const { ccclass, property } = _decorator;

@ccclass('PlayerController')
export class PlayerController extends Component {
    start() {

    }

    update(deltaTime: number) {

    }
}

新建的脚本会生成两个主要的函数,一个是start开始函数,一个是update的时间差更新函数

比如我们想实现一个功能,点击鼠标的时候进行跳跃,那可以直接在start中去监听input

js 复制代码
start() {
     input.on(Input.EventType.MOUSE_DOWN,this.onMouseUp,this)
}

上面这个代码是监听鼠标的按下事件,并且调用onMouseUp函数

把新建好的脚本拖动到目标节点上,这样每个脚本就会有自己控制的节点了,每个脚本中的this指的就是目标节点

控制节点的移动

this.node.getPosition用于获取节点的当前的位置 this.node.setPosition用于设置节点的当前的位置

js 复制代码
this.node.getPosition(new Vec3()); // 获取节点的当前的位置
Vec3.add(this._targetPos,this._curPos,new Vec3(this._jumpStep,0,0))
this.node.setPosition(this._targetPos)

Vec3是指通常包含三个属性:x、y 和 z,分别代表向量在三个轴上的分量

Vec3.add(this._targetPos,this._curPos,new Vec3(this._jumpStep,0,0))的第一个参数是目标分量,第二个参数是当前分量,第三个参数是移动的分量,即把当前分量和移动分量相加,得出目标的分量

通过上面的三个步骤就能实现简单的节点的移动,感兴趣的小伙伴可以试试。

实现的效果

现在想要点击画面让小方块进行移动,那么就需要用到上面的几个方法,通过监听点击事件,然后对小方块进行移动处理即可。

js 复制代码
onMouseUp(){
    this.node.getPosition(new Vec3()); // 获取节点的当前的位置 
    Vec3.add(this._targetPos,this._curPos,new Vec3(this._jumpStep,0,0)) 
    this.node.setPosition(this._targetPos)
}

如果觉得有趣或有收获,请关注我的更新,给个喜欢和分享。您的支持是我写作的最大动力!

往期好文推荐

相关推荐
码艺-Alimjan3 小时前
Tauri 源码备份 · 打包 & 解压 总结,源码收集之路
前端·javascript·vue.js
小马不起床3 小时前
零基础玩转 FastAPI_11:前端后台管理页面
前端·状态模式·fastapi
子非鱼a4 小时前
【文件上传】一个普普通通的edu16
前端
美狐美颜SDK开放平台4 小时前
直播APP如何实现美白滤镜功能?视频美颜SDK技术开发方案详解
前端·数据库·人工智能·音视频·美颜sdk·直播美颜sdk·视频美颜sdk
pride.li5 小时前
第03章 Python 教程-基础语法:注释与变量
服务器·前端·后端·python·算法·计算机视觉
屏什么录5 小时前
电脑如何录屏幕视频和声音?从工具到代码,7 种方案帮你彻底搞定
前端·音视频开发
用户360055579006 小时前
Kestrel_VLLM_CUDA -09 · full-GPU decode:单 token 全设备
前端
kyriewen6 小时前
我上手了 Vite+ 1.0:Node 不用自己装,lint 却翻车了
前端·javascript·程序员
松就是我902986 小时前
你的 PPT 不缺内容,缺一个讲它的人
前端
松就是我902986 小时前
别再熬夜做 PPT 了!输入一个主题,AI 帮你把整套幻灯片做好,还能随便改字
前端