Cocos Creator2D游戏开发(5)-飞机大战(3)-手指操作玩家飞机移动
创始人
2024-11-27 15:33:53
  1. 添加玩家飞机
    1.创建player_node节点
    2.将资源中Player图片拖入player_node节点
    3.将Player的Position属性值调整为(0,-300) Content Size属性调整为(100 100)
    4.点击运行,飞机在屏幕上了
    在这里插入图片描述
    2 用手指拖着飞机跑流程
    ① 要监听手指按下
    ②判断手指是否在飞机上
    ③移动飞机
    ④监听手指离开
    在这里插入图片描述
    创建一个脚本Player.ts , 场景节点选player_node节点, 将Player.ts拖入右边属性检查器,保存;
    Player.ts脚本
import { _decorator, Component, EventTouch, Input, input, UITransform} from 'cc'; const { ccclass, property } = _decorator;  @ccclass('Player') export class Player extends Component {      private isPress; //是否按下     start() {         this.isPress = false;     }      onLoad() {         input.on(Input.EventType.TOUCH_START, this.onTouchStart, this);  //注册按下事件         input.on(Input.EventType.TOUCH_MOVE, this.onTouchMove, this);  // 注册移动事件         input.on(Input.EventType.TOUCH_END, this.onToucheEnd, this); // 注册离开事件     }      onToucheEnd(event: EventTouch) {         this.isPress = false;     }       onTouchMove(event: EventTouch) {         if (!this.isPress) {             return;         }         const player = this.node.getChildByName("Player"); // 获取指定的组件         if (player === null) {             return;         }         const uiPos = event.getUILocation(); //获取世界坐标         player.setWorldPosition( uiPos.x,uiPos.y,0); // 设置指定坐标     }      onTouchStart(event: EventTouch) {         const player = this.node.getChildByName("Player");         if (player === null) {             return;         }          const transform = player.getComponent(UITransform);         const newRect = transform.getBoundingBoxToWorld(); //获取player组件框框         if(newRect.contains(event.getUILocation())){             this.isPress= true;         }      }      update(deltaTime: number) {      } }    

相关内容

热门资讯

延安12345 | 拍照只会比... 近日,“剪刀手拍照会泄露指纹信息”冲上热搜,不少网友表示,没想到手指轻轻比个“耶”,竟可能把自己的隐...
填补世界空白的“大国重器”正式... 今天(8日),一项填补世界空白的“大国重器”正式上岗!我国自主研发的全球首套盾构超高压“三元混合气”...
科技助力唱“主角” 数字“新农... 科技助力唱“主角” 数字“新农具”耕出“智慧”丰收田 央视网消息:在湖北黄冈市,依托当地政府打造的...
数字技术赋能乡村振兴——以福建... 胡冰川 当下,数字技术正成为驱动农业农村高质量发展的新质生产力。数字农业以物联网、大数据、人工智能、...
构建智能体EDA方法论:挑战与... 工具与方法论之间的关系是双向的。工具赋能方法论,方法论依赖工具的功能特性及其所提供的数据。然而,当前...