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

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

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

Регистрация: Jul 2005
Сообщений: 57
По умолчанию Вызов функции из подключенного класса

Доброе время суток всем. Подключил к фла-файлу. такой as-файл с содержимым (получение информации с камеры):
Код AS3:
package  {
 
	import flash.events.*;
	import flash.display.MovieClip;
	import flash.display.SimpleButton;
	import flash.text.TextField;
 
 
	import flash.media.Video;
	import flash.media.Camera;
	import flash.media.Microphone;
 
	public class Main extends MovieClip {
			public var cam:Camera;
		public var mic:Microphone;
 
		public function Main(event:MouseEvent):void {
			   cam = Camera.getCamera();
        mic = Microphone.getMicrophone();
 
			my_video.attachCamera(cam);
		}
 
 
	}
 
 
}
Вроде ошибок не выдает...

В самом фла-файла лежит объект типа Linked Video с именем my_video (выше идет присвоение ему изображения с камеры my_video.attachCamera(cam). Запустить все это по клину на кнопку, нужно, как я понимаю, путем вызова функции Main. Пытаюсь сделать так:

Код AS3:
button_1.addEventListener(MouseEvent.CLICK, Main);
Получаю ошибку:

Implicit coercion of a value of type Class to an unrelated type Function.

В АС пока новичек, прошу вашей помощи: что я именно делаю не так и как правильно вызвать функцию из подключенного класса?...

Заранее спасибо за помощь!

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

Регистрация: Dec 2010
Адрес: Ярославль
Сообщений: 1,255
Main - это класс, а не функция
Вы вообще какой-то ужас творите.
Лучше обойтись без класса. Вам так проще будет.

Если очень хочется класс, то примерно вот так:

Код AS3:
package  {
 
	import flash.display.Sprite;
	import flash.media.Video;
	import flash.events.MouseEvent;
 
	public class Main extends Sprite {
 
		private var myCamera:MyCamera;
		private var video:Video;
 
		public function Main() {
 
			myCamera = new MyCamera();
			video = new Video();
			addChild(video);
 
			stage.addEventListener(MouseEvent.CLICK, attachMyCamera);
		}
 
		private function attachMyCamera(e:MouseEvent):void {
			myCamera.attachCamera(video);
		}
	}
}
 
package {
 
	import flash.media.Camera;
	import flash.media.Microphone;
	import flash.media.Video;
 
	public class MyCamera {
 
		private var cam:Camera;
		private var mic:Microphone;
 
		public function MyCamera():void{
			cam = Camera.getCamera();
			mic = Microphone.getMicrophone();
		}
 
		public function attachCamera(video:Video):void {
			video.attachCamera(cam);
		}
	}
}


Последний раз редактировалось illuzor; 06.01.2012 в 04:03.
Старый 06.01.2012, 04:00
chiffa вне форума Посмотреть профиль Отправить личное сообщение для chiffa Найти все сообщения от chiffa
  № 3  
Ответить с цитированием
chiffa

Регистрация: Jul 2005
Сообщений: 57
Спасибо за ответ!

Имеете ввиду так?...

Код AS3:
package  {
 
	import flash.events.*;
	import flash.display.MovieClip;
	import flash.display.SimpleButton;
	import flash.text.TextField;
 
	import flash.media.Video;
	import flash.media.Camera;
	import flash.media.Microphone;
 
 
			public var cam:Camera;
		public var mic:Microphone;
 
		public function Main():void {
			   cam = Camera.getCamera();
        mic = Microphone.getMicrophone();
 
			my_video.attachCamera(cam);
 
 
 
	}
 
 
}
Не затруднит показать на примере как именно?...

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

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

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


 


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


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