![]() |
|
||||||||||
|
|||||
|
Banned
[+1 08.05.08]
[+4 14.04.08] [+1.3 02.05.08] Регистрация: Oct 2006
Адрес: кагбэ Киеф!!1
Сообщений: 1,473
|
почему выбрасывает, если item заходит в область?
если не через массив, то все в порядке, иначе - непонятно, почему возникает проблема... var slotArr:Array = [itemSlot0, itemSlot1];
item.onPress = function () {
initX = this._x;
initY = this._y;
this.swapDepths (this._parent.getNextHighestDepth ());
var xDist = this._x - this._parent._xmouse;
var yDist = this._y - this._parent._ymouse;
this.onMouseMove = function () {
this._x = this._parent._xmouse + xDist;
this._y = this._parent._ymouse + yDist;
updateAfterEvent ();
};
};
item.onRelease = function () {
for (var i = 0; i < slotArr.length; i++) {
if (this.hitTest (slotArr[i])) {
this._x = slotArr[i]._x;
this._y = slotArr[i]._y;
} else if (this.hitTest (oblast)) {
this._x = initX;
this._y = initY;
}
}
delete this.onMouseMove;
};
|
|
|||||
|
Негуру
администратор
Регистрация: Jan 2000
Адрес: Кёнигсберг in Moscow
Сообщений: 21,884
Записей в блоге: 7
|
var slotArr:Array = [itemSlot0, itemSlot1];
item.onPress = function () {
initX = this._x;
initY = this._y;
this.swapDepths (this._parent.getNextHighestDepth ());
this.startDrag (true);
this.onMouseMove = function () {
updateAfterEvent ();
};
};
item.onRelease = item.onReleaseOutside = function () {
this.stopDrag ();
var flag:Boolean = false;
for (var i:Number = 0; i < slotArr.length; i++) {
if (this.hitTest (slotArr[i])) {
this._x = slotArr[i]._x;
this._y = slotArr[i]._y;
flag = true;
break;
}
}
if (this.hitTest (oblast) && !flag) {
this._x = initX;
this._y = initY;
}
delete this.onMouseMove;
};
|
|
|||||
|
Banned
[+1 08.05.08]
[+4 14.04.08] [+1.3 02.05.08] Регистрация: Oct 2006
Адрес: кагбэ Киеф!!1
Сообщений: 1,473
|
спасибо
![]() |
|
|||||
|
Banned
[+1 08.05.08]
[+4 14.04.08] [+1.3 02.05.08] Регистрация: Oct 2006
Адрес: кагбэ Киеф!!1
Сообщений: 1,473
|
как заблокировать "ячейку", что бы туда не помещался 2-ой объект. Или менялись между собой.
var itemArr:Array = [item0, item1];
var slotArr:Array = [itemSlot0, itemSlot1, itemSlot2];
for (var j:Number = 0; j < itemArr.length; j++) {
itemArr[j].onPress = function () {
initX = this._x;
initY = this._y;
this.swapDepths (this._parent.getNextHighestDepth ());
var xDist = this._x - this._parent._xmouse;
var yDist = this._y - this._parent._ymouse;
this.onMouseMove = function () {
this._x = this._parent._xmouse + xDist;
this._y = this._parent._ymouse + yDist;
updateAfterEvent ();
};
};
itemArr[j].onRelease = function () {
flag = false;
for (var i = 0; i < slotArr.length; i++) {
if (this.hitTest (slotArr[i])) {
this._x = slotArr[i]._x;
this._y = slotArr[i]._y;
flag = true;
}
}
if (this.hitTest (oblast) && !flag) {
this._x = initX;
this._y = initY;
}
delete this.onMouseMove;
};
}
|
|
|||||
|
Banned
[+1 08.05.08]
[+4 14.04.08] [+1.3 02.05.08] Регистрация: Oct 2006
Адрес: кагбэ Киеф!!1
Сообщений: 1,473
|
так никто и не ответит?
|
|
|||||
|
пытаюсь написать игру..
использую hitTest для определения удара меча... когда очень большая скорость движения мяча, удар не успевает определиться.. и мяч пролетает насквозь.. как этого избежать?.. |
|
|||||
|
Banned
[+1 08.05.08]
[+4 14.04.08] [+1.3 02.05.08] Регистрация: Oct 2006
Адрес: кагбэ Киеф!!1
Сообщений: 1,473
|
незнаю.. делай может проверку скорости перед забором, или просто поставь maxVelocity - ал-я максимальная допустимая скорость..
|
|
|||||
|
ммм (( в этом случае смысл игры теряется.. (
|
|
|||||
|
не использовать hitTest, а юзать метод определения столкновений окружность-линия. копать в сторону векторов и геометрии...
|
![]() |
![]() |
Часовой пояс GMT +4, время: 21:00. |
|
|
« Предыдущая тема | Следующая тема » |
|
|