赞 | 58 |
VIP | 37 |
好人卡 | 59 |
积分 | 12 |
经验 | 66255 |
最后登录 | 2023-5-29 |
在线时间 | 1017 小时 |
Lv3.寻梦者
- 梦石
- 0
- 星屑
- 1232
- 在线时间
- 1017 小时
- 注册时间
- 2011-4-30
- 帖子
- 1516
|
Sprite.prototype.worldToLocalXY = function ( x,y,sprite) {
var node = sprite || this;
return node.worldTransform.applyInverse({x:x,y:y},{visible:node.worldVisible});
};
/**
* 是触摸自己
* @param {number} x x坐标
* @param {number} y y坐标
* @param {boolean} type 是否不检查位图(true 为不检查 )
* @param {bolean}c 是否检查子图(true 为 检查 )
*
*
*/
Sprite.prototype.isTouchThis = function (x, y, type, c) {
if (this.visible) {
var loc = this.worldToLocalXY(x,y)
var x = loc.x
var y = loc.y
var v = loc.visible
if(v){
if (c) {
for (var i = 0; i < this.children.length; i++) {
var s = this.children[i]
if (s && s.isTouchThis && s.isTouchThis(x, y, type,c)) {
return true
}
}
}
if (this.isTouchIn && this.isTouchIn(x, y, type)) {
return true
}
}
}
return false
}
/**是在之中
* @param {boolean} type 不检查图片
*
*/
Sprite.prototype.isTouchIn = function (x, y, type) {
if (this.anchor) {
var x = x + this.anchor.x * this.width
var y = y + this.anchor.y * this.height
}
if (this.isTouchInFrame(x, y, type)) {
return type || this.isTouchInBitamp(x, y)
} else {
return false
}
}
/**是在区域中 */
Sprite.prototype.isTouchInFrame = function (x, y, type) {
return x >= 0 && y >= 0 && x < this.width && y < this.height;
};
/**是在位图上不透明点 */
Sprite.prototype.isTouchInBitamp = function (x, y) {
if (this._realFrame) {
var x = x + this._realFrame.x
var y = y + this._realFrame.y
}
if (this.bitmap && this.bitmap.getAlphaPixel(x, y)) {
return true
}
return false
} |
|