日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

html5 摇杆,分享一个虚拟摇杆,比较粗糙,没做优化

發布時間:2023/12/14 编程问答 31 豆豆
生活随笔 收集整理的這篇文章主要介紹了 html5 摇杆,分享一个虚拟摇杆,比较粗糙,没做优化 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

function ModeKey() {

//大圓

this.moveMax = null;

//小圓點

this.moveKey = null;

//當前的舞臺

this.layer = null;

//是否按下

this.isDown = false;

//是否彈起

this.isUp = false;

//是否移動

this.isMove = false;

}

tip:其實是否按下,是否彈起和是否移動,有點多余了

//初始化你預先設置的參數

ModeKey.prototype.init = function () {

console.log(this.moveKey, this.layer, this.moveMax)

this.moveKey.on(Laya.Event.MOUSE_DOWN, this, this.downFun);

//記錄一開始小圓點的位置,方便鼠標彈起的時候自動返回開始位置

this.moveKey.mode = {x: this.moveKey.x, y: this.moveKey.y}

}

//按下事件

ModeKey.prototype.downFun = function (e) {

this.isDown = true;

this.starX = e.stageX;

this.starY = e.stageY;

//添加彈起和移動事件

this.layer.on(Laya.Event.MOUSE_UP, this, this.upFun);

this.layer.on(Laya.Event.MOUSE_MOVE, this, this.moveFun);

}

//彈起事件

ModeKey.prototype.upFun = function () {

this.isDown = false;

this.isUp = false;

this.isMove = false;

this.isMode = "stop";

//移除彈起和移動事件

this.layer.off(Laya.Event.MOUSE_UP, this, this.upFun);

this.layer.off(Laya.Event.MOUSE_MOVE, this, this.moveFun);

Laya.Tween.to(this.moveKey, { x: this.moveKey.mode.x, y: this.moveKey.mode.y }, 100)

}

//鼠標移動事件

ModeKey.prototype.moveFun = function (e) {

if (!this.isDown) return;

this.moveX = e.stageX;

this.moveY = e.stageY;

this.isMode = "run";

// 獲取半徑

var r = Math.sqrt(Math.pow((this.starX - this.moveX), 2) + Math.pow((this.starY - this.moveY), 2));

//當移動半徑大于大圓的半徑時,半徑等于大圓的0.5的寬度(也就是半徑)

if (r >= this.moveMax.width/2) r = this.moveMax.width/2;

var angle = Math.atan2(this.moveY - this.starY, this.moveX - this.starX);

bottonX = Math.cos(angle) * r + this.starX+(this.moveMax.x - this.starX);

bottonY = Math.sin(angle) * r + this.starY+(this.moveMax.y - this.starY);

this.moveKey.x =bottonX ;

this.moveKey.y =bottonY ;

var degree = (angle * 180 / Math.PI)+180;

//在this.con.backData(degree)方法里獲取到degree的值也就是角度值,然后你可以自己判斷任務方位

//返回當前的一個方法

backData(degree)

}--------------------------------------------------------美麗的分割線--------------------------------------------------------

調用方法

在你的舞臺上調用該方法即可運行

這里的this指向你當前的舞臺;

比如你當前的舞臺為 gameLayer

modeKey = new ModeKey();

// 外層

modeKey.moveMax = 大圓按鈕;

// 圓點層

modeKey.moveKey =小圓按鈕

modeKey.layer = gameLayer

modeKey.init();//

function backData?(data){

console.log(data)

}

----------------------------------------------------結束分割線---------------------------------------------------------------

總結

以上是生活随笔為你收集整理的html5 摇杆,分享一个虚拟摇杆,比较粗糙,没做优化的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 亚洲成人高清在线 | 国产精品天美传媒入口 | 人人干人人干人人干 | 亚洲国产午夜 | 免费在线观看网址入口 | 九七影院在线观看免费观看电视 | 免费黄色入口 | 超碰95在线 | 久草视频精品在线 | 日韩欧美网站 | 日韩在线天堂 | 久久9热 | 国产欧美久久久精品免费 | 最近最新最好看的2019 | 香蕉久久国产 | 国产一区二区三区免费在线观看 | 大地资源中文在线观看免费版 | 激情毛片视频 | 国产精品一区二区三区免费 | 欧美一级网站 | 女久久| 在线中文av | av中文字幕免费观看 | 一区二区成人精品 | 国产精品久久99 | 亚洲成a人片 | www麻豆 | 男人深夜网站 | 日韩中出在线 | 中文字幕观看 | 精品久久久久久久久久久久久久久久久 | 日本亚洲色大成网站www久久 | 性开放视频 | 六月综合| 新版红楼梦在线高清免费观看 | 特黄av| 国产精品美女在线观看 | 亚洲干干干 | 日韩精品欧美激情 | 国产在线不卡 | 天天爽天天 | 中文在线字幕免费观看 | 久久97人妻无码一区二区三区 | 欧美日批视频 | 日本夫妻性生活视频 | 精品色图 | 中文字幕国产综合 | a天堂在线视频 | 91精品国产自产91精品 | 无码粉嫩虎白一线天在线观看 | 九色视频自拍 | 在线免费视频一区二区 | 午夜精品免费观看 | 丁香社区五月天 | 日韩欧美国产一区二区 | 久久久无码一区二区三区 | 日韩美女爱爱 | 偷偷操不一样 | www.777奇米影视| 日本免费一区二区三区四区 | 大屁股白浆一区二区三区 | 日韩激情精品 | 日本xxxx裸体xxxx出水 | 亚洲国产欧美在线观看 | 成年人黄色免费视频 | 午夜视频导航 | 91中文字幕永久在线 | 国产精品美女久久久久久 | 操你啦免费视频 | 欧美裸体精品 | 日本一区二区三区视频免费看 | 久久综合九色综合欧美狠狠 | 亚洲成人精品在线 | 夜夜撸影院 | 蜜桃视频一区二区三区 | 亚洲人妖在线 | 午夜xxx| 人妻无码一区二区三区久久99 | 性欧美熟妇videofreesex | 久久国产经典 | 九九免费精品视频 | 污动漫网站 | 日韩69| 色呦呦视频在线 | 亚色中文字幕 | 中文区中文字幕免费看 | 欧美少妇网 | 国产a一区二区三区 | 亚洲av无码国产精品色午夜 | 无码人妻少妇伦在线电影 | 日皮视频在线观看 | 亚洲网站在线播放 | 黑帮大佬和我的365日第二部 | 欧美熟妇乱码在线一区 | 国产亚洲91 | 成人免费网视频 | 国产伦精品一区二区三区四区 | 亚洲成人a∨ | 蜜桃av影院 |