creator 物理画线

这篇博客介绍了在creator中实现物理画线的方法,包括关键代码和`PhysicsLineCollider`类的定义,该类继承自`PhysicsCollider`并扩展了`Collider.Polygon`。通过设置线段宽度和使用`_drawLine`节点来绘制线条,同时确保线条有起点和终点。
摘要由CSDN通过智能技术生成

界面如图 drawLine是画线的节点
在这里插入图片描述
//画线节点
private _drawLine: cc.Node = null;
//
private _point = [];
//用来确认是否有开始的节点(画线要有头才能画出尾)
private _lineNumber: number = 0;
//绘制的线段宽度
private _lineWidth: number = 12;
//
private _lastPoint = null;

private _initGame = () => {
	//开启碰撞
    Tools.getPhysics(true, false);
    this._drawLine = this.getNode("drawLine");
    this._drawLine.on(cc.Node.EventType.TOUCH_START, this._start);
    this._drawLine.on(cc.Node.EventType.TOUCH_MOVE, this._move);
    this._drawLine.on(cc.Node.EventType.TOUCH_END, this._end);
    this._drawLine.on(cc.Node.EventType.TOUCH_CANCEL, this._end);
}


private _start = (event) => {
    let local = event.getLocation(),
        point = this._drawLine.convertToNodeSpaceAR(local);
    if (this._handAABB(local)) {
        this._point = [];
        //进行结束的操作,为0没有线段
        this._lineNumber++;
        this._lastPoint = local;
        //保存画线的位置
        this._point.push(cc.v2(Tools.getInteger(point.x), Tools.getInteger
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值