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

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

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

Регистрация: Jan 2013
Адрес: If(Sprite.x >0){Sprite.x=(Sprite.x-Sprite.x)}
Сообщений: 51
Отправить сообщение для fd96 с помощью ICQ Отправить сообщение для fd96 с помощью Skype™
Attention Ошибка addChild со спрайтом

Есть 2 класса , один Базовый и один добавочный , спрайты в базовом создаются и ложатся друг на друга ровно, но нужно добавить на базовый слой спрайт из нового класса. Ничего не умею советам буду рад.
мой код :
Основной:
Код AS3:
package
{
	import flash.display.*;
	import flash.events.*;
	import flash.ui.*;
	import flash.utils.*;
 
	import mx.core.*;
 
	public class Game1 extends Sprite
	{
		public var spr1:Sprite = new Sprite;
		public var spr2:Shape = new Shape;
		public var dnco:Shape = new Shape;
		public var upco:Shape = new Shape;
		public var rico:Shape = new Shape;
		public var leco:Shape = new Shape;
		public var map:Mapcreate = null;
		public function Game1() 
		{
			spr1.graphics.beginFill(0x00412A, 1);
			spr1.graphics.drawRect(-300, 0, 1800, 400);
			spr1.graphics.endFill();
			addChild(spr1);
			creation();
			addChild(spr2);
			makesen();
			addChild(leco);
			addChild(dnco);
			addChild(upco);
			addChild(rico);
			addChild(map.Verwal1);
		}
		public function creation():void
		{
			spr2.graphics.beginFill(0x00AAFF, 0.5);
			spr2.graphics.drawRect(0, 0, 30, 50);
			spr2.graphics.endFill();
			spr2.x = 30;
			spr2.y = 300;
			spr2.width=30;
			spr2.height=50;
		}
		public function makesen():void
		{
			dnco.graphics.beginFill(0x222222, 0.5);
			dnco.graphics.drawRoundRect(0, 0, 20, 5, 5, 5);
			dnco.graphics.endFill();
			dnco.x = spr2.x+5;
			dnco.y = spr2.y+45;
			dnco.width=20;
			dnco.height=5;
 
			upco.graphics.beginFill(0x222222, 0.5);
			upco.graphics.drawRoundRect(0, 0, 20, 5, 5, 5);
			upco.graphics.endFill();
			upco.x = spr2.x+5;
			upco.y = spr2.y;
			upco.width=20;
			upco.height=5;
 
			rico.graphics.beginFill(0x222222, 0.5);
			rico.graphics.drawRoundRect(0, 0, 5, 45, 5, 5);
			rico.graphics.endFill();
			rico.x = spr2.x+25;
			rico.y = spr2.y+2;
			rico.width=5;
			rico.height=45;
 
			leco.graphics.beginFill(0x222222, 0.5);
			leco.graphics.drawRoundRect(0, 0, 5, 45, 5, 5);
			leco.graphics.endFill();
			leco.x = spr2.x;
			leco.y = spr2.y+2;
			leco.width=5;
			leco.height=45;
		}
	}
}
Второй класс:
Код AS3:
package
{
	import flash.display.*;
	import flash.events.*;
	import flash.ui.*;
	import flash.utils.*;
 
	public dynamic class Mapcreate extends Sprite
	{
		public var main:Game1;
		public var Verwal1:Sprite = new Sprite;
		public function Mapcreate()
		{
			super();
			blocks();
		}
			public function blocks():void
			{
			Verwal1.graphics.beginFill(0x222222, 0.5);
			Verwal1.graphics.drawRoundRect(0, 0, 600, 50, 15, 15);
			Verwal1.graphics.endFill();
			addChild(Verwal1);
			}
	}
}

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

модератор форума
Регистрация: Jan 2006
Адрес: Бердск, НСО
Сообщений: 6,445
Цитата:
public var map:Mapcreate = null;
//....
addChild(map.Verwal1);
У null нет свойства Verwal1.
__________________
Reality.getBounds(this);

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

Регистрация: Jan 2013
Адрес: If(Sprite.x >0){Sprite.x=(Sprite.x-Sprite.x)}
Сообщений: 51
Отправить сообщение для fd96 с помощью ICQ Отправить сообщение для fd96 с помощью Skype™
Я уже понял, но вот как поправить не понял, как дать верную ссылку на DisplayObject?

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

Регистрация: Mar 2012
Сообщений: 9
Наверное нужно просто создать объект
Код AS3:
public var map:Mapcreate = Mapcreate()

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

Регистрация: Jan 2013
Адрес: If(Sprite.x >0){Sprite.x=(Sprite.x-Sprite.x)}
Сообщений: 51
Отправить сообщение для fd96 с помощью ICQ Отправить сообщение для fd96 с помощью Skype™
Если так сделать , то получаю ошибку 1136 - неверное колличество аргументов Mapcreate();
так что вопрос всё ещё в силе.

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

блогер
Регистрация: Sep 2009
Сообщений: 2,463
Записей в блоге: 2
Код AS3:
public var map:Mapcreate = new Mapcreate();
__________________
In Code We Trust

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

Регистрация: Jan 2013
Адрес: If(Sprite.x >0){Sprite.x=(Sprite.x-Sprite.x)}
Сообщений: 51
Отправить сообщение для fd96 с помощью ICQ Отправить сообщение для fd96 с помощью Skype™
Благодарю , а то своими силами уже третьи сутки не мог сделать это , теперь можно пойти поспать.

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

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

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


 


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


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