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

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

Версия для печати  Отправить по электронной почте    « Предыдущая тема | Следующая тема »  
Опции темы Опции просмотра
 
Создать новую тему Ответ
Старый 28.10.2011, 10:41
Astraport вне форума Посмотреть профиль Отправить личное сообщение для Astraport Найти все сообщения от Astraport
  № 11  
Ответить с цитированием
Astraport
 
Аватар для Astraport

блогер
Регистрация: Sep 2009
Сообщений: 2,463
Записей в блоге: 2
Что-то я вообще отстал от жизни... This нужно и можно добавлять на сцену? И как это делается и задаются координаты? Я просто всегда работал с Flex, возможно это основы, но там все это автоматом создается.

Тот прямоугольник, что вы советовали, отлично выводится (я его другим цветом закрасил для наглядности), кроме него, все что добавлено к this не выводится.
Флэшку вставил на сайт ifram`ом, но это же не дело.

Старый 28.10.2011, 10:45
Inet_PC вне форума Посмотреть профиль Отправить личное сообщение для Inet_PC Посетить домашнюю страницу Inet_PC Найти все сообщения от Inet_PC
  № 12  
Ответить с цитированием
Inet_PC
 
Аватар для Inet_PC

Регистрация: Feb 2009
Адрес: Гы...поди, найди!
Сообщений: 853
Записей в блоге: 1
Трудно так ответить. Может в этом глюк:
Код AS3:
stage.align = StageAlign.BOTTOM;
на
Код AS3:
stage.align = StageAlign.TOP_LEFT;
Насчет, this. Если это главный класс приложения, то он добавлен на сцену. addChild добавляет любой визуальный объект(любой наследник от DisplayObject) в список отображения. Координаты - это свойста x, y визуального объекта.
__________________
http://www.chessmax.ru


Последний раз редактировалось Inet_PC; 28.10.2011 в 10:47.
Старый 28.10.2011, 13:46
Astraport вне форума Посмотреть профиль Отправить личное сообщение для Astraport Найти все сообщения от Astraport
  № 13  
Ответить с цитированием
Astraport
 
Аватар для Astraport

блогер
Регистрация: Sep 2009
Сообщений: 2,463
Записей в блоге: 2
Цитата:
Трудно так ответить. Может в этом глюк:
Да нет. Эти мелочи я все по 10 раз перепроверил.

Я бы подумал, что это глюк CMS, но тогда почему десятки моих флексовских приложений нормально воспроизводятся. А тут совершенно мистическое поведение.

Даже делал вот так. Создавал var tf:TextField, добавляю как this.addChild(tf) - в HTML вижу, на сайте - не вижу. Добавляю как stage.addChild(tf) - вижу везде, но меня этот вариант не устраивает.

Старый 28.10.2011, 14:08
crazyone вне форума Посмотреть профиль Отправить личное сообщение для crazyone Найти все сообщения от crazyone
  № 14  
Ответить с цитированием
crazyone
 
Аватар для crazyone

блогер
Регистрация: Nov 2007
Адрес: Киев
Сообщений: 557
Записей в блоге: 2
Может код покажешь?

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

блогер
Регистрация: Sep 2009
Сообщений: 2,463
Записей в блоге: 2
Это главный класс, есть ещё Card, но он не важен.
Код AS3:
package
{
	import com.greensock.TweenLite;
 
	import flash.display.Bitmap;
	import flash.display.BitmapData;
	import flash.display.Graphics;
	import flash.display.Loader;
	import flash.display.LoaderInfo;
	import flash.display.Sprite;
	import flash.display.StageAlign;
	import flash.display.StageScaleMode;
	import flash.events.Event;
	import flash.events.HTTPStatusEvent;
	import flash.events.MouseEvent;
	import flash.filters.DropShadowFilter;
	import flash.filters.GlowFilter;
	import flash.net.URLRequest;
	import flash.system.Security;
	import flash.text.TextField;
	import flash.text.TextFormat;
	import flash.text.TextFormatAlign;
 
	[SWF(width='200', height='310', backgroundColor='#E4CFA8', frameRate='30')]
	public class Shuffle extends Sprite
	{
 
		private var card:Card;
		private var bitmapData:BitmapData;
		protected var deckX:Number = 104;
		protected var deckY:Number = 400;
		private var loader:Loader = new Loader();
		[Embed(source = 'images/btn.png')]
		private static const Btn:Class;
		private var btn:Bitmap;
		private var currentPic:int = 0;
		private var currentPic2:int = 0;
		public function Shuffle()
		{
			if (stage) init();
			else this.addEventListener(Event.ADDED_TO_STAGE, init);
		}
 
		public function init(e:Event = null):void {
			Security.allowDomain("*");
			this.removeEventListener(Event.ADDED_TO_STAGE, init); 
			stage.align = StageAlign.TOP_LEFT;
			stage.scaleMode = StageScaleMode.NO_SCALE;
			var g:Graphics = this.graphics;
			g.beginFill(0xE4CFA8);
			g.drawRect(0, 0, 200, 310);
			g.endFill(); 			
			loadDeck();
		}
 
		protected function loadDeck():void
		{
			var n:int = this.numChildren;
			for (var i:int = 0; i < n; i++){
				this.removeChild(this.getChildAt(0));
			}
			currentPic = 0;
			currentPic2 = 0;
 
			loader = new Loader();
			var rnd:Number = randomNumber();
			var request:URLRequest = new URLRequest("images/cards/" + rnd + ".jpg");
			loader.contentLoaderInfo.addEventListener(Event.COMPLETE, onComplete);
			loader.addEventListener(HTTPStatusEvent.HTTP_STATUS,onError);
			loader.load(request);
		}
 
		protected function randomNumber(low:Number=0, high:Number=14):Number
		{
			return Math.floor(Math.random() * (1+high-low)) + low;
		}
 
		protected function onError(event:Event):void
		{
		}
 
		protected function onComplete(event:Event):void
		{
			bitmapData = Bitmap(LoaderInfo(event.target).content).bitmapData;
			showDeck();
		}
 
		private function showDeck():void
		{
			if (currentPic==5){
				var myFormat:TextFormat = new TextFormat();
				myFormat.size = 18;
				myFormat.align = TextFormatAlign.CENTER;
				var txt:TextField = new TextField;
				txt.x = 5;
				txt.y = 10;
				txt.width = stage.width - 10;
				txt.height = 48;
				txt.multiline = true;
				txt.wordWrap = true;
				txt.setTextFormat(myFormat);
				txt.defaultTextFormat = myFormat;
				txt.selectable = false;
				txt.text = 'Бла-бла';
				addChild(txt);
				animations2();
				return;
			}
			card = new Card(currentPic, bitmapData);
			card.x = deckX - card.width/2 - currentPic*5;
			card.y = deckY - card.height/2 - currentPic*5;
			card.addEventListener(MouseEvent.CLICK, onClick);
			card.rotationX = 180;
			card.filters = [new DropShadowFilter(1, 45, 0x000000, 0.8, 8, 8, 1)];
			card.name = "card" + String (currentPic);
			addChild(card);
			deckAnimation(card);
			currentPic++;
		}
 
		private function animations2():void
		{
			if(currentPic2==5){
				return;
			}
			var cardA:Card = this.getChildByName("card" + String (currentPic2)) as Card;
			if (currentPic2%2 == 0){
				var xPos:Number = - 150;
			} else {
				xPos = 150;
			}
			TweenLite.to(cardA, 0.8, {x:cardA.x + xPos, onComplete:placeOnTop, onCompleteParams:[cardA, cardA.x]});
			currentPic2++;
		}		
 
		private function placeOnTop(mc:Card, xpos:int):void{
			addChild(mc)
			TweenLite.to(mc, 0.8, {x:xpos, onComplete:animations2});
		}
 
 
		private function deckAnimation(cardA:Card):void
		{
			TweenLite.to(cardA, 0.5, { x: cardA.x + 10, y: cardA.y + 10, onComplete: showDeck} );
		}
 
		protected function onClick(event:MouseEvent):void
		{
			var n:int = this.numChildren;
			for (var i:int = 0; i < n; i++){
				TweenLite.killTweensOf(this.getChildAt(i));
			}
			clearTable();
			var card:Card = event.currentTarget as Card;
			addChild(card);
			TweenLite.to( card, 1, { x: 25, y: 90, rotationX: 0, onUpdate: card.reverse } );
		}
 
		protected function clearTable():void
		{
			var n:int = this.numChildren;
			for (var i:int = 0; i < n; i++){
				this.removeChild(this.getChildAt(0));
			}
			btn = new Btn() as Bitmap;
			btn.x = 50;
			btn.y = 40;
			btn.smoothing = true
			btn.addEventListener(MouseEvent.CLICK, onClickBtn);
			var btnContainer:Sprite = new Sprite();
			btnContainer.addEventListener(MouseEvent.CLICK, onClickBtn);
			btnContainer.buttonMode = true;
			btnContainer.addChild(btn);
			addChild(btnContainer);
		}
 
		protected function onClickBtn(event:Event):void
		{
			loadDeck();
		}
	}
}

Старый 28.10.2011, 15:16
Inet_PC вне форума Посмотреть профиль Отправить личное сообщение для Inet_PC Посетить домашнюю страницу Inet_PC Найти все сообщения от Inet_PC
  № 16  
Ответить с цитированием
Inet_PC
 
Аватар для Inet_PC

Регистрация: Feb 2009
Адрес: Гы...поди, найди!
Сообщений: 853
Записей в блоге: 1
Ваш, код вроде работает, загружается несколько картинок, к верх ногами, перемешиваются как карты, и по клику, становятся не к верх ногами.
Код AS3:
public class Card extends Sprite
{
	public function Card(n: int, bd: BitmapData)
	{
		super();
		addChild(new Bitmap(bd));
	}
 
	public function reverse(...args):void
	{
 
	}
}
У Вас такой же класс?
Можете дать ссылку на сайт с флешкой?
__________________
http://www.chessmax.ru

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

блогер
Регистрация: Sep 2009
Сообщений: 2,463
Записей в блоге: 2
Цитата:
У Вас такой же класс?
Да такой.
Цитата:
Можете дать ссылку на сайт с флешкой?
Отправил в ПМ

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

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

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


 


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


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