Форум Flasher.ru
Ближайшие курсы в Школе RealTime
Список интенсивных курсов: [см.]  
  
Специальные предложения: [см.]  
  
 
Блоги Правила Справка Пользователи Календарь Сообщения за день
 

Вернуться   Форум Flasher.ru > Flash > ActionScript 1.0/2.0

Версия для печати  Отправить по электронной почте    « Предыдущая тема | Следующая тема »  
Опции темы Опции просмотра
 
Создать новую тему Ответ
Старый 29.12.2006, 22:38
Mr. Fixit вне форума Посмотреть профиль Найти все сообщения от Mr. Fixit
  № 1  
Ответить с цитированием
Mr. Fixit
Banned
[+1 08.05.08]
[+4 14.04.08]
[+1.3 02.05.08]

Регистрация: Oct 2006
Адрес: кагбэ Киеф!!1
Сообщений: 1,473
Flame и опять же hitTest

почему выбрасывает, если 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;
};

Старый 29.12.2006, 22:48
iNils вне форума Посмотреть профиль Отправить личное сообщение для iNils Посетить домашнюю страницу iNils Найти все сообщения от iNils
  № 2  
Ответить с цитированием
iNils
Негуру
 
Аватар для iNils

администратор
Регистрация: 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;
};
__________________
(и)Нильс.ru | Плагины для FlashDevelop

Старый 29.12.2006, 23:01
Mr. Fixit вне форума Посмотреть профиль Найти все сообщения от Mr. Fixit
  № 3  
Ответить с цитированием
Mr. Fixit
Banned
[+1 08.05.08]
[+4 14.04.08]
[+1.3 02.05.08]

Регистрация: Oct 2006
Адрес: кагбэ Киеф!!1
Сообщений: 1,473
спасибо

Старый 30.12.2006, 03:24
Mr. Fixit вне форума Посмотреть профиль Найти все сообщения от Mr. Fixit
  № 4  
Ответить с цитированием
Mr. Fixit
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;
	};
}

Старый 31.12.2006, 05:50
Mr. Fixit вне форума Посмотреть профиль Найти все сообщения от Mr. Fixit
  № 5  
Ответить с цитированием
Mr. Fixit
Banned
[+1 08.05.08]
[+4 14.04.08]
[+1.3 02.05.08]

Регистрация: Oct 2006
Адрес: кагбэ Киеф!!1
Сообщений: 1,473
так никто и не ответит?

Старый 01.01.2007, 11:06
webgirl вне форума Посмотреть профиль Отправить личное сообщение для webgirl Найти все сообщения от webgirl
  № 6  
Ответить с цитированием
webgirl
 
Аватар для webgirl

Регистрация: Aug 2006
Сообщений: 28
Отправить сообщение для webgirl с помощью ICQ
пытаюсь написать игру..
использую hitTest для определения удара меча...
когда очень большая скорость движения мяча, удар не успевает определиться.. и мяч пролетает насквозь.. как этого избежать?..

Старый 01.01.2007, 14:24
Mr. Fixit вне форума Посмотреть профиль Найти все сообщения от Mr. Fixit
  № 7  
Ответить с цитированием
Mr. Fixit
Banned
[+1 08.05.08]
[+4 14.04.08]
[+1.3 02.05.08]

Регистрация: Oct 2006
Адрес: кагбэ Киеф!!1
Сообщений: 1,473
незнаю.. делай может проверку скорости перед забором, или просто поставь maxVelocity - ал-я максимальная допустимая скорость..

Старый 01.01.2007, 16:05
webgirl вне форума Посмотреть профиль Отправить личное сообщение для webgirl Найти все сообщения от webgirl
  № 8  
Ответить с цитированием
webgirl
 
Аватар для webgirl

Регистрация: Aug 2006
Сообщений: 28
Отправить сообщение для webgirl с помощью ICQ
ммм (( в этом случае смысл игры теряется.. (

Старый 02.01.2007, 09:56
island вне форума Посмотреть профиль Отправить личное сообщение для island Посетить домашнюю страницу island Найти все сообщения от island
  № 9  
Ответить с цитированием
island
 
Аватар для island

Регистрация: Jul 2006
Адрес: nsk
Сообщений: 93
Отправить сообщение для island с помощью ICQ
не использовать hitTest, а юзать метод определения столкновений окружность-линия. копать в сторону векторов и геометрии...

Старый 02.01.2007, 10:07
Nirth вне форума Посмотреть профиль Отправить личное сообщение для Nirth Посетить домашнюю страницу Nirth Найти все сообщения от Nirth
  № 10  
Ответить с цитированием
Nirth
4AM Games
 
Аватар для Nirth

блогер
Регистрация: Nov 2002
Адрес: Sofia
Сообщений: 6,264
Записей в блоге: 1
Отправить сообщение для Nirth с помощью ICQ Отправить сообщение для Nirth с помощью AIM Отправить сообщение для Nirth с помощью MSN Отправить сообщение для Nirth с помощью Yahoo Отправить сообщение для Nirth с помощью Skype™
hitTest не используют в играх.
__________________
Я перестал переписывать, начал редактировать, еще лет 15 и я стану писателем ^_^

Создать новую тему Ответ Часовой пояс GMT +4, время: 21:00.
Быстрый переход
  « Предыдущая тема | Следующая тема »  

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.


 


Часовой пояс GMT +4, время: 21:00.


Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.