Quantcast
Channel: Cocos中文社区 - 最新主题
Viewing all articles
Browse latest Browse all 91050

3.4.2版本 用键盘控制移动的问题

$
0
0

已经能够获取到键盘事件了。但是怎么赋予对应的移动呢? 应该放在update(dt:number)里吗?
网上看的教程都是2 3年前的了QAQ
import { _decorator, Component, input, Input, EventKeyboard, KeyCode, Vec3, RigidBody, TERRAIN_MAX_LEVELS, SphereCollider, macro } from ‘cc’;

const { ccclass } = _decorator;

@ccclass(“Example”)

export class Example extends Component {

onLoad () {

    input.on(Input.EventType.KEY_DOWN, this.onKeyDown, this);

    input.on(Input.EventType.KEY_UP, this.onKeyUp, this);

}

onDestroy () {

    input.off(Input.EventType.KEY_DOWN, this.onKeyDown, this);

    input.off(Input.EventType.KEY_UP, this.onKeyUp, this);

}

onKeyDown (event: EventKeyboard) {

    switch(event.keyCode) {

            case KeyCode.KEY_A:

            console.log('向左');

            break;

            case KeyCode.KEY_D:

            console.log('向右');

            break;

            case KeyCode.KEY_W:

            console.log('向前');

            break;

            case KeyCode.KEY_S:

            console.log('向后');

            break;

    }

}

onKeyUp (event: EventKeyboard) {

    switch(event.keyCode) {

            case KeyCode.KEY_A:

            console.log('Release a key');

            break;

            case KeyCode.KEY_D:

            console.log('Release a key');

            break;

            case KeyCode.KEY_W:

            console.log('Release a key');

            break;

            case KeyCode.KEY_S:

            console.log('Release a key');

            break;

    }

}

update(dt:number){

   

}

}

3 个帖 - 2 位参与者

阅读整个主题


Viewing all articles
Browse latest Browse all 91050


<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>