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

Вернуться   Форум Flasher.ru > Flasher.ru > Флейм

Версия для печати  Отправить по электронной почте    « Предыдущая тема | Следующая тема »  
Опции темы Опции просмотра
 
Создать новую тему Ответ
Старый 09.09.2007, 15:52
Psycho Tiger вне форума Посмотреть профиль Отправить личное сообщение для Psycho Tiger Найти все сообщения от Psycho Tiger
  № 1  
Ответить с цитированием
Psycho Tiger
 
Аватар для Psycho Tiger

блогер
Регистрация: Jun 2005
Адрес: Toronto
Сообщений: 6,601
Записей в блоге: 17
По умолчанию Как я чуть не сломал свой компьютер...

История, произошедшая со мной 5 минут назад...
Все как обычно, захожу в флэш, начинаю писать там программу...
Тут на определенной стадии мне потребовалось не просто обнаружить столкновение 2 кругов, но и сторону, с которой это произошло.
Пишу функцию, обьявляю в ней переменные, делаю все как обычно.
Тут и начались непоняные вещи. Компьютер мне выдавал вот что:
Код:
var a=1;
var b=a;
a=2;
trace(b); //выдает 2
Ну думаю, с чего то у меня прописалась ссылка на обьект, начал думать и пробовать разные вещи...
Думал часа эдак 2, меня начало уже колотить) Думал задать вопрос... но как то тема глупая, во флэше не 1 день и такие вопросы... просидел ещё часок... был готов убить свой компьютер. И вдруг случайно увидел, что я компилил все под АС 1. Поставил 2, все заработало на ура.
Мораль: проверяй блин, настройки публиша

Старый 09.09.2007, 15:58
Seer вне форума Посмотреть профиль Найти все сообщения от Seer
  № 2  
Ответить с цитированием
Seer
Banned
[+4 25.10.07]

Регистрация: May 1999
Сообщений: 218
ну и? Всё правильо компьютер тебе выдавал.

Старый 09.09.2007, 16:10
etc вне форума Посмотреть профиль Найти все сообщения от etc
  № 3  
Ответить с цитированием
etc
Et cetera
 
Аватар для etc

Регистрация: Sep 2002
Сообщений: 30,787
Повторить сей спец-эффект не удалось.

Старый 09.09.2007, 16:10
Psycho Tiger вне форума Посмотреть профиль Отправить личное сообщение для Psycho Tiger Найти все сообщения от Psycho Tiger
  № 4  
Ответить с цитированием
Psycho Tiger
 
Аватар для Psycho Tiger

блогер
Регистрация: Jun 2005
Адрес: Toronto
Сообщений: 6,601
Записей в блоге: 17
Я не про то )
Мораль прочитай, и не повторяй моих ошибок... (меня все ещё трясет)

2 __etc

Код:
function collision(ball:Object,obj:Object){
	if (dist(ball._x,obj._x,ball._y,obj._y)<(obj._width+ball._width)/2){
		var side=dist(obj._x+obj._width/2,ball._x,obj._y,ball._y); //правая
		var type:String="r"; //right
		var oldSide=side;
		side=Math.min(side,dist(obj._x-obj._width/2,ball._x,obj._y,ball._y)); // в сайд у нас координаты левой\правой стороны, какая больше.
		trace ("Side="+side+", Oldside="+oldSide);
		if (oldSide!=side) type="l";
	}
	}
	
	
function dist(x1,x2,y1,y2){ //растояние между 2 любыми точками
	return Math.round(Math.sqrt(Math.abs(x1-x2)*Math.abs(x1-x2)+Math.abs(y1-y2)*Math.abs(y1-y2)));
}

this.onEnterFrame=function(){
	c=collision(ball,obj);
	}
	startDrag(ball,true);
2 Шара, ball был меньше шара obj

Подносим болл к обж - с левой стороны все нормально, с правой они равны.


Последний раз редактировалось Psycho Tiger; 09.09.2007 в 16:18.
Старый 09.09.2007, 16:20
iNils вне форума Посмотреть профиль Отправить личное сообщение для iNils Посетить домашнюю страницу iNils Найти все сообщения от iNils
  № 5  
Ответить с цитированием
iNils
Негуру
 
Аватар для iNils

администратор
Регистрация: Jan 2000
Адрес: Кёнигсберг in Moscow
Сообщений: 21,884
Записей в блоге: 7
Цитата:
Сообщение от Seer
ну и? Всё правильо компьютер тебе выдавал.
Да ну?

Кстати, Math.abs в dist совсем лишний, x1-x2 возводится в квадрат и знак роли не играет.
__________________
(и)Нильс.ru | Плагины для FlashDevelop


Последний раз редактировалось iNils; 09.09.2007 в 16:26.
Старый 09.09.2007, 17:01
Psycho Tiger вне форума Посмотреть профиль Отправить личное сообщение для Psycho Tiger Найти все сообщения от Psycho Tiger
  № 6  
Ответить с цитированием
Psycho Tiger
 
Аватар для Psycho Tiger

блогер
Регистрация: Jun 2005
Адрес: Toronto
Сообщений: 6,601
Записей в блоге: 17
Кстати верно... что то я про это совсем забыл)

Старый 09.09.2007, 17:46
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
чет я не понял...
у меня что в ас1, что в ас2:
Код:
trace(b); //выдает 1

Старый 09.09.2007, 17:55
Psycho Tiger вне форума Посмотреть профиль Отправить личное сообщение для Psycho Tiger Найти все сообщения от Psycho Tiger
  № 8  
Ответить с цитированием
Psycho Tiger
 
Аватар для Psycho Tiger

блогер
Регистрация: Jun 2005
Адрес: Toronto
Сообщений: 6,601
Записей в блоге: 17
Нет, я же привел код из функции...
Возможно это мой мозг тупил, но то что я опубликовал в 1 посте было лишь следствием того, что должно было быть.
Протестируйте мой 2 пост, в ас 1 при приближении ball к obj, а точнее к его правому краю, и происходит что то вроде a=2=b=1...


Последний раз редактировалось Psycho Tiger; 10.09.2007 в 10:46.
Старый 11.09.2007, 01:04
__i вне форума Посмотреть профиль Отправить личное сообщение для __i Найти все сообщения от __i
  № 9  
Ответить с цитированием
__i
 
Аватар для __i

Регистрация: Jan 2004
Адрес: Украина, Харьков
Сообщений: 1,524
Отправить сообщение для __i с помощью ICQ
во флеше есть такое правило - строки, числа, и булевые данные пердаються как значение. Остальные (те которые объекты) передаются/хранятся как ссылки на объекты (а не значения)
этот код
Код:
var a=1;
var b=a;
a=2;
trace(b); //выдает 2
никогда не будет работать как ты описал
а вот этот будет
Код:
var a= {1 : 1};
var b=a;
a["1"] = 2;
trace(b["1"]); //выдаCт 2
__________________
33 коровы

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

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

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


 


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


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