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

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

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

Регистрация: Jan 2009
Сообщений: 1,651
Хмм... Вообще странный вопрос. А сейчас, без "пагинации", вы как данные отображаете? Потому что, если вы их уже как-то отображаете, то добавить разбиение на страницы уже как бы не сложно. Вместо полного списка отображаем, скажем только 20 элементов, плюс добавляем кнопок для перехода со страницы на страницу. При переходе удаляем старые элементы на экране, отображаем новые.
__________________
мой пустой блог

Старый 12.03.2013, 20:23
spirit2 вне форума Посмотреть профиль Отправить личное сообщение для spirit2 Найти все сообщения от spirit2
  № 12  
Ответить с цитированием
spirit2

Регистрация: Dec 2009
Сообщений: 125
Кликаем на кнопочку - спрайтик текущей страницы удаляем, новый спрайтик добавляем и показываем в нем что хотим. Все.

Старый 12.03.2013, 23:30
Flash_AS3 вне форума Посмотреть профиль Отправить личное сообщение для Flash_AS3 Найти все сообщения от Flash_AS3
  № 13  
Ответить с цитированием
Flash_AS3
[+1 10.11.13]

Регистрация: Feb 2013
Сообщений: 52
на страницы разбивается текст и картинки, берущиеся их XML, первые 15 картинок и текста на одной странице, на второй следующие 15 картинок и 15 строк текста

Добавлено через 6 минут
класс в котором все происходит




Код AS3:
public class Create_cards extends MovieClip
	{
		[Embed(source="../lib/shrift/5102337.ttf",fontName="5102337",mimeType="application/x-font",fontWeight="regular",fontStyle="normal",unicodeRange="U+0030-U+0039,U+002E,U+007B-U+007E,U+00FC-U+00FD,U+0410-U+042F,U+0430-U+0451,U+0020-U+0040,U+0041-U+005A,U+005B-U+0060,U+0061-U+007A,U+007B-U+007E",advancedAntiAliasing="true",embedAsCFF="false")]
		public const shrift_1:Class;
 
		public var form_1:TextFormat;
		public var myXML:XML = new XML();
 
		public function Create_cards()
		{
			var Zag:URLLoader = new URLLoader();
			Zag.load(new URLRequest("Polzovateli.xml"));
			Zag.addEventListener(Event.COMPLETE, init);
		}
 
		private function init(e:Event):void
		{
			var tXML:XML = new XML(e.target.data);
			processXML(tXML);
			var page:int, total:int;
			createPageNav(page,total);
 
		}
 
		private function createPageNav(page:int,total:int):void
		{
			//var myXML:XML = aXML
			var Listanie:PageNav = new PageNav(page,total);
			addChild(Listanie);
			Listanie.addEventListener(PageNav.CLICK_p, Perehod);
		}
 
		private function Perehod(e:sEvent):void
 
		{
			/*
			//trace(myXML)
		    //var myXML:XML = new XML(e.target.data)
			//var tXML:XML = new XML(e.arg[0]);
			//var index:int = new int(e.target.id);
			//var myXML:XML;	
			//trace(myXML)
 
			trace("Perehod:", e.arg[0]);
 
			var index:int = e.arg[0]
 
			if (index == 1)
			{
				for (var i:int = 15; i < 30; i++)
				{
					//createItem(i,myXML);
 
					//trace(i);
 
					//trace(myXML);
				}
			}*/
		}
 
		private function processXML(aXML:XML):void
		{
			var myXML:XML = aXML
			var font_1:Array = Font.enumerateFonts(false);
			Font.registerFont(shrift_1);
 
			form_1 = new TextFormat("5102337", 11, 0x29578e, false, false, true);
 
			for (var i:int = 0; i < 15; i++)
			{
				createItem(i, myXML);
			}
		}
 
		private function createItem(i:int, myXML:XML):void
		{
 
			var list:XMLList = myXML.children();
			var vc:MovieClip = new MovieClip();
			var cont_txt:MovieClip = new MovieClip();
			var cont_kart:MovieClip = new MovieClip();
			addChild(vc);
			addChild(cont_txt);
			addChild(cont_kart);
 
			vc.x = i % 5 * 142;
			vc.y = int(i / 5) * 148;
 
			vc.addChild(cont_txt);
			vc.addChild(cont_kart);
 
			cont_kart.x = 50;
			cont_kart.y = 140;
			cont_txt.x = 50;
			cont_txt.y = 240;
 
			createPhoto(cont_kart, myXML.img[i]);
			createPole(cont_txt, list['text_' + (i + 1)].text());
			//trace(cont_txt, list['text_' + (i + 1)].text())
		}
 
		private function createPhoto(aCont:MovieClip, aText:String):void
		{
			var i:int;
			var photo1:Loader = new Loader();
			photo1.contentLoaderInfo.addEventListener(Event.OPEN, onStart);
			photo1.contentLoaderInfo.addEventListener(ProgressEvent.PROGRESS, onProgress);
			photo1.contentLoaderInfo.addEventListener(Event.COMPLETE, onComplete);
			photo1.load(new URLRequest(aText));
			aCont.addChild(photo1);
		}
 
		public function createPole(aCont:MovieClip, aText:String):void
		{
			var pole:TextField = new TextField()
			pole.embedFonts = true;
			pole.autoSize = TextFieldAutoSize.CENTER;
			pole.text = aText;
			pole.setTextFormat(form_1);
			aCont.addChild(pole);
			pole.mouseEnabled = false;
		}
 
		private function onComplete(e:Event):void
		{
 
			var maski:MovieClip = new MovieClip()
			maski.x = 50;
			maski.y = 130;
 
			var photo:Loader = e.target.loader as Loader;
			var msk:MovieClip = new MovieClip();
			for (var j:int = 0; j < 15; j++)
 
			{
				msk.graphics.beginFill(0xffffff, 0.5);
				msk.graphics.drawRect(j % 5 * 142, (int(j / 5) * 148) + 5, 100, 100);
				msk.graphics.endFill();
				addChild(msk);
 
			}
 
			photo.height = 100;
			photo.scaleX = photo.scaleY;
			photo.mask = msk;
			maski.addChild(msk);
 
		}
 
		private function onProgress(e:ProgressEvent):void
		{
			//trace("загружено" + Math.floor(photo1.contentLoaderInfo.bytesLoaded / 1024) +" из " + Math.floor(photo1.contentLoaderInfo.bytesTotal / 1024) + " КБ");
			//trace(photo1.width);
		}
 
		private function onStart(e:Event):void
		{
			//trace("загрузка началась");
		}
 
	}
 
}
Добавлено через 13 минут
И класс в котором будет реализована функция которая создаст четыре кнопки перехода между страницами
Он еще с ошибками поэтому не судите строго


Код AS3:
public class PageNav extends MovieClip
	{
		static public const CLICK_p:String = "perehod";
 
		[Embed(source="../Narezka/Vtoraya/strelka_1.png")]
		public static const strelka_1:Class;
		[Embed(source="../Narezka/Vtoraya/strelka_2.png")]
		public static const strelka_2:Class;
		public var strel_1:Bitmap = new strelka_1();
		public var strel_2:Bitmap = new strelka_2();
 
		//public var mas:Array = new Array(1, 2, 3, 4, 5, 6, 7, 8);
 
		public var form_1:TextFormat;
 
		//public var myXML:XML = new XML();
		public var page:int = 2;
		public var total:int = 30;
 
		//public var max_object:int = 15;
 
		public function PageNav(page:int, total:int):void
		{
			form_1 = new TextFormat("5102337", 11, 0x29578e, false, false, true);
 
			//listalka(360,"1",0);
			//var obj:Object = {a:"foo", b:"bar"}
 
			var list_cont:Array = new Array[{coord: 360, text: "1", index: 0}, {coord: 380, text: "2", index: 1}, {coord: 435, text: "Next", index: 1}, {coord: 235, text: "Prev", index: 0}]
 
			for (var i:int = 0; i < 4; i++)
			{
				listalka(list_cont[i].coord, list_cont[i].text, list_cont[i].index);
			}
			//listalka(360,"1",0);
			//listalka(380,"2",1);
			//listalka(435,"СЛЕДУЮЩАЯ",1);
			//listalka(235, "ПРЕДЫДУЩАЯ",0);
 
		}
 
		public function listalka(aX:int, aText:String, index:int):void
		{
 
			var pole_2:TextField = new TextField()
			var container:MovieClip = new MovieClip()
			pole_2.embedFonts = true;
			pole_2.text = aText;
			pole_2.setTextFormat(form_1);
			addChild(container);
			container.x = aX;
			container.y = 580;
			pole_2.width = 80;
			pole_2.height = 20;
 
			container.id = index;
 
			container.addChild(pole_2);
			pole_2.mouseEnabled = false;
			container.buttonMode = true;
			container.addEventListener(MouseEvent.CLICK, onPerehodClick);
 
		}
 
		private function onPerehodClick(e:MouseEvent):void
		{
 
			//trace(e.target.myXML);
			dispatchEvent(new sEvent(PageNav.CLICK_p, e.target.id));
 
		}
 
	}
 
}
Добавлено через 35 минут
поправка на ветер, теперь все работает массив не работал


Код AS3:
var list_cont:Array = [{coord: 360, text: "1", index: 0}, {coord: 380, text: "2", index: 1}, {coord: 435, text: "СЛЕДУЮЩАЯ", index: 1}, {coord: 235, text: "ПРЕДЫДУЩАЯ", index: 0}]
осталось самое главное переход между страницами

Старый 13.03.2013, 00:17
Akopalipsis вне форума Посмотреть профиль Найти все сообщения от Akopalipsis
  № 14  
Ответить с цитированием
Akopalipsis
Banned
[+4 24.02.14]
[+4 07.11.13]
[+ 13.03.14]

Регистрация: Mar 2013
Сообщений: 1,864
может swfaddress...

Старый 13.03.2013, 00:28
Flash_AS3 вне форума Посмотреть профиль Отправить личное сообщение для Flash_AS3 Найти все сообщения от Flash_AS3
  № 15  
Ответить с цитированием
Flash_AS3
[+1 10.11.13]

Регистрация: Feb 2013
Сообщений: 52
я это должен сделать через класс pagenav который будет отдавать параметры в create_cards, дальше в функции perehod будет реализация......перехода...... пока не продумал еще толком

Старый 13.03.2013, 00:33
Akopalipsis вне форума Посмотреть профиль Найти все сообщения от Akopalipsis
  № 16  
Ответить с цитированием
Akopalipsis
Banned
[+4 24.02.14]
[+4 07.11.13]
[+ 13.03.14]

Регистрация: Mar 2013
Сообщений: 1,864
если надо чтоб переход по страничкам был как на этом сайте(у каждой странички свой адрес и прийти можно было сразу допустим на третью) то это swfaddress. а если так не нужно то как выше...

Старый 13.03.2013, 00:38
Flash_AS3 вне форума Посмотреть профиль Отправить личное сообщение для Flash_AS3 Найти все сообщения от Flash_AS3
  № 17  
Ответить с цитированием
Flash_AS3
[+1 10.11.13]

Регистрация: Feb 2013
Сообщений: 52
необходимо по другому не через swfaddress(((

Добавлено через 4 минуты
через swfaddress я не совсем понимаю как делать(((

Старый 13.03.2013, 04:01
in4core вне форума Посмотреть профиль Отправить личное сообщение для in4core Найти все сообщения от in4core
  № 18  
Ответить с цитированием
in4core
[+4 06.05.14]
 
Аватар для in4core

Регистрация: Mar 2009
Сообщений: 4,219
Записей в блоге: 14
Цитата:
через swfaddress я не совсем понимаю как делать(((
Это уже другая история. Не понимаете - пишите сами, чего там сложного то?

Код AS3:
package com.in4core.utils.js 
{
	import flash.events.EventDispatcher;
	import flash.external.ExternalInterface;
	/**
	 * ...
	 * @author in4core progression lab
	 */
	public final class DDL extends EventDispatcher
	{
		private var _url:String = null;
		private var _pageTitle:String = null;
 
		public function DDL() 
		{
			if (ExternalInterface.available) trace("DDL Ready");
			else trace("EI not available");
		}
 
		public function get url():String 
		{
			return _url;
		}
 
		public function set url(value:String):void 
		{
			_url = value;
		}
 
		public function get pageTitle():String 
		{
			return _pageTitle;
		}
 
		public function set pageTitle(value:String):void 
		{
			_pageTitle = value;
		}
 
		public function changeHeader(url:String , title:String):void
		{
			this._url = url;
			this._pageTitle = title;
 
			callJSAllHeaders();
 
			this.dispatchEvent(new DDLEvent(DDLEvent.INTERNAL_CHANGE));
		}
 
		private function callJSAllHeaders():void
		{
			if (ExternalInterface.available)
			{
				ExternalInterface.call("function(u,t) { window.document.title = t; location.hash = u; }" , 
				this._url , this._pageTitle);
			}
		}
 
	}
 
}
__________________
Марк Tween

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

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

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


 


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


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