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

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

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

Регистрация: Jan 2014
Сообщений: 181
Отправить сообщение для zackscript с помощью Skype™
По умолчанию Пятитысячная ошибка

Народ пищу сценарий по книге все правильно
Код AS3:
package 
{
	import flash.display.MovieClip
	import flash.display.NativeWindow;
	import flash.display.NativeWindowInitOptions;
	import flash.display.NativeWindowType;
	import flash.display.NativeWindowSystemChrome;
	import flash.events.MouseEvent;
	import flash.events.Event;
	import flash.display.Sprite;
	import flash.display.Stage;
	import flash.display.StageScaleMode;
	import flash.display.StageAlign;
	import flash.display.NativeWindowResize;
 
	public class ExampleWindow extends NativeWindow
	{
		private var _background:Sprite;
		private var _resizer:Sprite;
		public function ExampleWindow()
		{
			var options:NativeWindowInitOptions = new NativeWindowInitOptions  ;
			options.systemChrome = NativeWindowSystemChrome.NONE;
			options.type = NativeWindowType.LIGHTWEIGHT;
			options.transparent = true;
			super(options);
			_background = new Sprite  ;
			drawBackground(200,200);
			stage.addChild(_background);
			width = 400;
			height = 400;
			stage.scaleMode = StageScaleMode.NO_SCALE;
			stage.align = StageAlign.TOP_LEFT;
			_background.addEventListener(MouseEvent.MOUSE_DOWN,StartMoveWin);
			_resizer = new Sprite  ;
			_resizer.graphics.lineStyle(0,0,0);
			_resizer.graphics.beginFill(0xCCCCCC,1);
			_resizer.graphics.drawRect(0,0,10,10);
			_resizer.graphics.endFill();
			_resizer.x = 180;
			_resizer.y = 180;
			stage.addChild(_resizer);
			_resizer.addEventListener(MouseEvent.MOUSE_DOWN,StartResizeWin);
			addEventListener("resizing",resizingHandler);
		}
		public function drawBackground(newWidth:Number,newHeight:Number):void
		{
			_background.graphics.clear();
			_background.graphics.lineStyle(0,0,0);
			_background.graphics.beginFill(0x0000FF,0.5);
			_background.graphics.drawRoundRectComplex(0,0,newWidth,newHeight - 10,20,20,20,1);
			_background.graphics.endFill();
		}
		public function StartMoveWin(event:MouseEvent):void
		{
			startMove();
		}
		private function resizingHandler(event:Event):void
		{
			drawBackground(width,height);
			_resizer.x = width - 20;
			_resizer.x = height - 20;
		}
		private function StartResizeWin(event:MouseEvent):void
		{
			startResize(NativeWindowResize.BOTTOM_RIGHT);
		}
	}
}
Пишет
Код:
 строка 1	 5000: В класс "ExampleWindow" должен входить подкласс "flash.display.MovieClip", так как он связывается с символом такого же типа в библиотеке.
В чем ошибка?

Старый 16.09.2015, 19:10
udaaff вне форума Посмотреть профиль Отправить личное сообщение для udaaff Найти все сообщения от udaaff
  № 2  
Ответить с цитированием
udaaff
...

модератор форума
Регистрация: Sep 2006
Адрес: Minsk
Сообщений: 4,286
Ну судя по ошибке, ваш класс не является наследником мувиклипа, но при этом связан с символом соответствующего типа в библиотеке.
Ваш кэп.

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

Регистрация: Jun 2012
Адрес: Новосибирск
Сообщений: 6,644
Записей в блоге: 4
Ну, очевидно что этот ExampleWindow для чего-то залинкован к каком-то символу в библиотеке. А здесь он пытается расширить NativeWindow, при этом уже являясь мувиклипом. В as3 нет множественного наследования, поэтому класс не может расширять больше одного другого класса за раз.

Добавлено через 40 секунд
udaaff опять опередил

Старый 16.09.2015, 21:00
zackscript вне форума Посмотреть профиль Отправить личное сообщение для zackscript Найти все сообщения от zackscript
  № 4  
Ответить с цитированием
zackscript
 
Аватар для zackscript

Регистрация: Jan 2014
Сообщений: 181
Отправить сообщение для zackscript с помощью Skype™
Вообще то я сам дописал строчку:
Код AS3:
import flash.display.MovieClip
в книге было без него
в книге не было сказано использовать компоненты
если что я создаю приложение AIR.

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

Регистрация: Jun 2012
Адрес: Новосибирск
Сообщений: 6,644
Записей в блоге: 4
Цитата:
Вообще то я сам дописал строчку:
Это ничего не меняет. Проблема не в этой строчке, а в том, что происходит двойственное наследование.
Цитата:
если что я создаю приложение AIR.
Я думаю, это и так всем понятно. Во флеш плеере нет NativeWindow

Старый 17.09.2015, 08:39
udaaff вне форума Посмотреть профиль Отправить личное сообщение для udaaff Найти все сообщения от udaaff
  № 6  
Ответить с цитированием
udaaff
...

модератор форума
Регистрация: Sep 2006
Адрес: Minsk
Сообщений: 4,286
zackscript, выкладывайте свой проект.

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

Регистрация: Jan 2014
Сообщений: 181
Отправить сообщение для zackscript с помощью Skype™
Вот держите !
Вложения
Тип файла: rar изменение размеров и перетаскивание окна.rar (7.2 Кб, 15 просмотров)

Старый 18.09.2015, 02:39
udaaff вне форума Посмотреть профиль Отправить личное сообщение для udaaff Найти все сообщения от udaaff
  № 8  
Ответить с цитированием
udaaff
...

модератор форума
Регистрация: Sep 2006
Адрес: Minsk
Сообщений: 4,286
Вы не можете в качестве главного класса использовать ExampleWindow, т.к. как он не является наследником Sprite.

Название: qwer.png
Просмотров: 422

Размер: 21.6 Кб

Самое простое, что можно сделать, что протестировать ваш класс, это нажать f9 и написать две строчки кода:
Код AS3:
var window:ExampleWindow = new ExampleWindow();
window.activate();

Старый 18.09.2015, 19:27
zackscript вне форума Посмотреть профиль Отправить личное сообщение для zackscript Найти все сообщения от zackscript
  № 9  
Ответить с цитированием
zackscript
 
Аватар для zackscript

Регистрация: Jan 2014
Сообщений: 181
Отправить сообщение для zackscript с помощью Skype™
Udaaff Cпасибо , Но почему каждый раз "Сбой тестирования ролика при запуске"?
Сжирает оперативку ?
__________________
RGB

Старый 18.09.2015, 19:35
udaaff вне форума Посмотреть профиль Отправить личное сообщение для udaaff Найти все сообщения от udaaff
  № 10  
Ответить с цитированием
udaaff
...

модератор форума
Регистрация: Sep 2006
Адрес: Minsk
Сообщений: 4,286
Создайте новый проект и попробуйте еще раз. Тот проект, что в архиве у меня тоже не запустился.

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

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

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


 


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


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