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

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

Версия для печати  Отправить по электронной почте    « Предыдущая тема | Следующая тема »  
Опции темы Опции просмотра
 
Создать новую тему Ответ
Старый 20.10.2011, 21:25
goodguy вне форума Посмотреть профиль Найти все сообщения от goodguy
  № 11  
Ответить с цитированием
goodguy
Banned
[+1 05.11.11]
[+1 09.08.11]

Регистрация: Jan 2010
Адрес: РФ. Кемеровская область
Сообщений: 3,243
Ну, можно в теле этой же функции, как и любой другой переменной
Только особого смысла не вижу. Я такой подход использую только при работе с бокс2д, когда в параметре передаю пиксели, а внутри функции они уже конвертируются в метры

Старый 20.10.2011, 21:31
goldlider вне форума Посмотреть профиль Отправить личное сообщение для goldlider Найти все сообщения от goldlider
  № 12  
Ответить с цитированием
goldlider

Регистрация: Jun 2010
Сообщений: 120
Цитата:
Сообщение от dimarik Посмотреть сообщение
Дык, — это же параметр! Как же можно параметру присвоить значения позже? Я про такое не слыхал.
а почему нет.
Код AS3:
var rect:Rectangle = new Rectangle(0, 0, 50, 25)
Цитата:
Сообщение от goodguy Посмотреть сообщение
Она происходит не из-за этого, а из-за того, что где-то создается экземпляр класса Rectangle, и в него передается не такое количество аргументов.
Не видя всего кода сложно сказать наверняка.
Приведу похожий пример.
Код AS3:
package
{	
	import flash.display.Sprite;
 
	public class Ball extends Sprite
	{
		private var r;
 
		public function Ball(radius)
		{
			r = radius;
		}
	}
}
Код AS3:
package
{
	public class ColoredBall extends Ball // Основной класс приложения
	{
		private var c;
 
		public function ColoredBall(radius, color)
		{
			super(radius);
			c = color;
		}
	}
}
Компилируя в Flash IDE, выдает ту же самую ошибку: ArgumentError: Error #1063: Несоответствие количества аргументов в ColoredBall(). Ожидалось 2, получено 0.


Последний раз редактировалось goldlider; 20.10.2011 в 21:42.
Старый 20.10.2011, 21:44
dimarik вне форума Посмотреть профиль Отправить личное сообщение для dimarik Найти все сообщения от dimarik
  № 13  
Ответить с цитированием
dimarik
.
 
Аватар для dimarik

модератор форума
Регистрация: Sep 2003
Адрес: Москва
Сообщений: 4,630
Записей в блоге: 20
Цитата:
Сообщение от goodguy Посмотреть сообщение
Ну, можно в теле этой же функции, как и любой другой переменной
Параметр не переменная. Параметр первичен относительно переменной и неосязаем. Локальной переменной присваивается значения Параметра, только тогда мы можем уловить свечение его ауры. Аминь.

Цитата:
Компилируя в Flash IDE, выдает ту же самую ошибку: ArgumentError: Error #1063: Несоответствие количества аргументов в ColoredBall(). Ожидалось 2, получено 0.
В основной класс приложения не передаются параметры, значит, он не должен ожидать ни одного аргумента.
__________________
Воспитан в TimeZero. Работаю в Mail.ru.


Последний раз редактировалось dimarik; 20.10.2011 в 21:50.
Старый 20.10.2011, 22:03
goodguy вне форума Посмотреть профиль Найти все сообщения от goodguy
  № 14  
Ответить с цитированием
goodguy
Banned
[+1 05.11.11]
[+1 09.08.11]

Регистрация: Jan 2010
Адрес: РФ. Кемеровская область
Сообщений: 3,243
Цитата:
Локальной переменной присваивается значения Параметра, только тогда мы можем уловить
свечение его ауры. Аминь.
dimarik, ты не прав =)
Код AS3:
package  {
 
	public class Parameters{
 
		public function Parameters(someParam:Number = 10) {
			someParam = 5;
			trace(someParam); // 5
		}
	}
}
Декомпил получившегося барахла:
Код AS3:
package 
{
 
    public class Parameters extends Object
    {
 
        public function Parameters(someParam:Number = 10)
        {
            someParam = 5;
            trace(someParam);
            return;
        }// end function
 
    }
}
Никаких локальных переменных введенных компилятором не наблюдается

Хотя может мы говорим о разных вещах, хз

Старый 20.10.2011, 22:19
dimarik вне форума Посмотреть профиль Отправить личное сообщение для dimarik Найти все сообщения от dimarik
  № 15  
Ответить с цитированием
dimarik
.
 
Аватар для dimarik

модератор форума
Регистрация: Sep 2003
Адрес: Москва
Сообщений: 4,630
Записей в блоге: 20
Ну да, о разных. В примере, локальной переменной присвоено значение 5.0. А Параметром передали 20.0, например. Сначала переменная someParam приняла значение Параметра (20.0), а потом — заданное значение 5.0. Разница должна ощущаться невооруженным глазом.
__________________
Воспитан в TimeZero. Работаю в Mail.ru.

Старый 20.10.2011, 22:24
goodguy вне форума Посмотреть профиль Найти все сообщения от goodguy
  № 16  
Ответить с цитированием
goodguy
Banned
[+1 05.11.11]
[+1 09.08.11]

Регистрация: Jan 2010
Адрес: РФ. Кемеровская область
Сообщений: 3,243
а как может быть объявлена переменная без слова var в этом случае?
Что-то я уже сам не догоняю

Добавлено через 6 минут
хотя я понял о чем ты

Старый 20.10.2011, 22:32
dimarik вне форума Посмотреть профиль Отправить личное сообщение для dimarik Найти все сообщения от dimarik
  № 17  
Ответить с цитированием
dimarik
.
 
Аватар для dimarik

модератор форума
Регистрация: Sep 2003
Адрес: Москва
Сообщений: 4,630
Записей в блоге: 20
В составе определения метода, конечно. Компилятор, встречая определение метода, создает локальные переменные, перечисленные в его аргументах. Параметр — это значение!
__________________
Воспитан в TimeZero. Работаю в Mail.ru.

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

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

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


 


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


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