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

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

Версия для печати  Отправить по электронной почте    « Предыдущая тема | Следующая тема »  
Опции темы Опции просмотра
 
Создать новую тему Ответ
Старый 05.02.2013, 17:44
Tina вне форума Посмотреть профиль Отправить личное сообщение для Tina Найти все сообщения от Tina
  № 1  
Ответить с цитированием
Tina

Регистрация: Feb 2013
Сообщений: 21
По умолчанию метод класса setRandomPosition().

Подскажите пожалуйста что это такое и как его использовать?

Старый 05.02.2013, 17:53
iflamberg вне форума Посмотреть профиль Отправить личное сообщение для iflamberg Найти все сообщения от iflamberg
  № 2  
Ответить с цитированием
iflamberg
 
Аватар для iflamberg

Регистрация: Jan 2009
Сообщений: 1,651
Мы что тут телепаты? Это не из actionscript 3 API. Судя по названию вашей темы - это функция класса. Тогда это вам лучше знать, что это за класс и как его использовать.
__________________
мой пустой блог

Старый 05.02.2013, 17:55
Hauts вне форума Посмотреть профиль Отправить личное сообщение для Hauts Посетить домашнюю страницу Hauts Найти все сообщения от Hauts
  № 3  
Ответить с цитированием
Hauts
 
Аватар для Hauts

блогер
Регистрация: Feb 2008
Адрес: Россия, Новосибирск, Академгородок
Сообщений: 2,113
Записей в блоге: 1
Отправить сообщение для Hauts с помощью ICQ Отправить сообщение для Hauts с помощью Skype™
Делаю ставку: это метод для установки произвольного положения чего-то
__________________
hauts.ru

Старый 05.02.2013, 18:32
Tina вне форума Посмотреть профиль Отправить личное сообщение для Tina Найти все сообщения от Tina
  № 4  
Ответить с цитированием
Tina

Регистрация: Feb 2013
Сообщений: 21
Ну в общем то да. Просто я вообще то думала что это из AS3. Но теперь уже поняла, что это из моего класса будет. Тогда вопрос такой. Как создать метод класса? Просто было задание установить рисунок на случайной позиции на сцене. Я это сделала, а теперь нужно сделать тоже самое методом класса.


Последний раз редактировалось Tina; 05.02.2013 в 18:46.
Старый 05.02.2013, 20:24
dimarik вне форума Посмотреть профиль Отправить личное сообщение для dimarik Найти все сообщения от dimarik
  № 5  
Ответить с цитированием
dimarik
.
 
Аватар для dimarik

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

Старый 05.02.2013, 21:09
Tina вне форума Посмотреть профиль Отправить личное сообщение для Tina Найти все сообщения от Tina
  № 6  
Ответить с цитированием
Tina

Регистрация: Feb 2013
Сообщений: 21
да нет просто AS3 учу. Я только начинаю. И сразу извиняюсь, если кому-то вопросы покажутся тупыми.


Последний раз редактировалось Tina; 05.02.2013 в 21:24.
Старый 05.02.2013, 22:35
dimarik вне форума Посмотреть профиль Отправить личное сообщение для dimarik Найти все сообщения от dimarik
  № 7  
Ответить с цитированием
dimarik
.
 
Аватар для dimarik

модератор форума
Регистрация: Sep 2003
Адрес: Москва
Сообщений: 4,630
Записей в блоге: 20
В некотором виде так выглядит метод класса
Код AS3:
package {
    class Foo {
        static function setRandomPosition():void {
            // method body
        }
    }
}
__________________
Воспитан в TimeZero. Работаю в Mail.ru.

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

Регистрация: Jun 2012
Адрес: Новосибирск
Сообщений: 6,644
Записей в блоге: 4
Код AS3:
package {
         public class RandomPositioner extends Sprite {
                   private var _image:Bitmap = new Bitmap(new BitmapData(100, 100, 0xff0000, false));
                   public function RandomPositioner() {
                          if (stage) init();
                          else addEventListener(Event.ADDED_TO_STAGE, init);
                   }
                   private function init(e:Event = null):void {
                           setRandomPosition();
                   }
                   private function setRandomPosition():void {
                           if (stage == null) return;
                           _image.x = stage.stageWidth * Math.random();
                           _image.y = stage.stageHeight * Math.random();
                   } 
         }
}
что-то типа того

Старый 05.02.2013, 23:17
Tina вне форума Посмотреть профиль Отправить личное сообщение для Tina Найти все сообщения от Tina
  № 9  
Ответить с цитированием
Tina

Регистрация: Feb 2013
Сообщений: 21
Я наверное лучше выложу код. Может по ходу кода подскажите как это лучше сделать.
Код AS3:
package 
{
	import flash.display.MovieClip;
	import flash.display.Sprite;
	import flash.events.Event;
	import new_packege.Ball;
 
	public class Main extends Sprite 
	{
		public var ball1:Ball;
		public var ball2:Ball;
		public function Main()
		{
			ball1 = new Ball();
			ball1.x = Math.random() * (stage.stageWidth - ball1.width);
			ball1.y = Math.random() * (stage.stageHeight - ball1.height);
			addChild(ball1);
			ball2 = new Ball();
			ball2.x = Math.random() * (stage.stageWidth - ball2.width);
			ball2.y = Math.random() * (stage.stageHeight - ball2.height);
			addChild(ball2);
			addEventListener(Event.ENTER_FRAME, onLoop1);
			addEventListener(Event.ENTER_FRAME, onLoop2);
		}
		private function onLoop1(evt:Event):void 
		{
			ball1.move(ball1);
		}
		private function onLoop2(evt:Event):void 
		{
			ball2.move(ball2);
		}
	}
}
А это класс который я создала, чтоб после из него создать шарики.
Код AS3:
package new_packege 
{
	import flash.display.Sprite;
 
	public class Ball extends Sprite 
	{
		public var speed:int = 10;
		public function Ball() 
		{
			graphics.beginFill(0x0000FF);
			graphics.drawCircle(50, 50, 50);
		}
		public function move(bl:Ball):void
		{
			bl.x += speed;
			if (bl.x >= stage.stageWidth - bl.width || bl.x < 0)
			{
				speed *= -1;
			}
		}
	}
}
Вот так это выглядит сейчас. А мне нужно чтобы шарики добавлялись на сцену методом класса. Это я так понимаю из Ball делать нужно. Подскажите как пожалуйста.

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

Регистрация: Jun 2012
Адрес: Новосибирск
Сообщений: 6,644
Записей в блоге: 4
Код AS3:
package 
{
	import flash.display.MovieClip;
	import flash.display.Sprite;
	import flash.events.Event;
	import new_packege.Ball;
 
	public class Main extends Sprite 
	{
		public var ball1:Ball;
		public var ball2:Ball;
		public function Main()
		{
			ball1 = new Ball();
			ball2 = new Ball();	
                                 setRandomPosition();
		}
                      public function setRandomPosition():void {
                                 ball1.x = Math.random() * (stage.stageWidth - ball1.width);
			ball1.y = Math.random() * (stage.stageHeight - ball1.height);
			addChild(ball1);
                                 ball2.x = Math.random() * (stage.stageWidth - ball2.width);
			ball2.y = Math.random() * (stage.stageHeight - ball2.height);
			addChild(ball2);
                                  if (!hasEventListener(Event.ENTER_FRAME)) {
                                          addEventListener(Event.ENTER_FRAME, onLoop1); // второй слушатель enterFrame тут не нужен
                                  }
                      }
 
		private function onLoop1(evt:Event):void 
		{
			ball1.move(); // не нужно ему передавать ссылку на себя, убрал ее отсюда, так как она у него и так есть
                                  ball2.move();
		}
 
	}
}
Код AS3:
package new_packege 
{
	import flash.display.Sprite;
 
	public class Ball extends Sprite 
	{
		public var speed:int = 10;
		public function Ball() 
		{
			graphics.beginFill(0x0000FF);
			graphics.drawCircle(50, 50, 50);
		}
		public function move():void
		{
			this.x += speed;
			if (this.x >= stage.stageWidth - this.width || this.x < 0)
			{
				speed *= -1;
			}
		}
	}
}

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

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

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


 


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


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