介绍

在上篇文章中我们已经了解到了该游戏引擎的基本搭建过程。比如灯光,摄像头,场景、事件监听等。这里我就不做多介绍。运用以上知识点。我们此时做一个小游戏画图。

效果图

源代码

1.先监听事件是否碰撞到了画板

2.然后判断动作,手指按住屏幕,松开屏幕,滑动屏幕。

3.将点坐标存储起来,将所有线存储起来

4.滑动屏幕时,先把线删除掉,然后根据存储的点坐标重新连线,防止每次重复画线。

5.松开屏幕则将存储的点与线重新创建一个数组存储。

核心代码如下:

var points = []; // 存储所有点的位置
var lines = []; // 存储所有线段的模型
let allData = [{ lines: [], points: [] }] // 所有数据
points = allData[0].points
lines = allData[0].lines
let isDown = false // 是否按下
let isEnd = false
// 对场景添加鼠标点击事件
scene.value.onPointerObservable.add((eventData) => {
    // 射线投射,用于检测鼠标点击的是场景的哪一部分
    var ray = scene.value.createPickingRay(scene.value.pointerX, scene.value.pointerY, BABYLON.Matrix.

点赞(0) 打赏

评论列表 共有 0 条评论

暂无评论

微信公众账号

微信扫一扫加关注

发表
评论
返回
顶部