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

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

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

Регистрация: Dec 2010
Сообщений: 121
Цитата:
Сообщение от undefined Посмотреть сообщение
он работает, но не так, как вы ожидаете.
Это плохо, что не так. Хочется, чтобы так. Столько времени на него потратил...
__________________
Учить Flash начал, когда мне стукнуло 50. И не жалею!

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

Регистрация: May 2008
Адрес: Питер
Сообщений: 385
Отправить сообщение для ZergMaster с помощью ICQ Отправить сообщение для ZergMaster с помощью Skype™
по сути, вы просите сделать все за вас
__________________
while(live()) { hope(); }

Старый 13.12.2017, 18:17
undefined вне форума Посмотреть профиль Отправить личное сообщение для undefined Найти все сообщения от undefined
  № 33  
Ответить с цитированием
undefined

Регистрация: Oct 2006
Сообщений: 2,282
Цитата:
Вот с массивами у меня засада. Никак не могу в них разобраться. Я и этот-то код с грехом пополам сваял, без шпаргалок не смог обойтись. Может покажете, как он должен выглядеть, чтобы работал?
Код AS3:
import flash.net.URLLoader;
import flash.net.URLRequest;
import flash.events.*;
import flash.display.Loader;
 
var xmlLoader:URLLoader = new URLLoader(new URLRequest("xml/my.xml"));
var xmlData:XML;
var xmlList:XMLList;
var picLoader:Loader;
var curImage:int=0;
var images:Array=[];
xmlLoader.addEventListener(Event.COMPLETE, getXML);
next_btn.addEventListener(MouseEvent.CLICK,onClick);
prev_btn.addEventListener(MouseEvent.CLICK,onClick);
function getXML(e:Event):void
{
	trace("загрузился");
	xmlData = XML(e.target.data);
	var list:XMLList=xmlData.pages;
	for (var i:uint=0;i<list.children().length();i++) {
		var picLoader:Loader = new Loader();
		picLoader.load(new URLRequest(list.children()[i]));
		picLoader.x = 0;
		picLoader.y = 0;
		addChild(picLoader);
		picLoader.visible=(i==curImage);
		images.push(picLoader);
	}
}
function onClick(e:MouseEvent):void
{
	if (e.target==next_btn) {
		images[curImage].visible=false;
		curImage++;
		if(curImage>images.length-1) curImage=0;
		images[curImage].visible=true;
	} else if (e.target==prev_btn) {
		images[curImage].visible=false;
		curImage--;
		if(curImage<0) curImage=images.length-1;
		images[curImage].visible=true;
	}
}
next_btn,prev_btn - кнопки листания.Должны лежать на сцене и иметь именно такие имена.

Старый 13.12.2017, 18:17
Comer вне форума Посмотреть профиль Отправить личное сообщение для Comer Найти все сообщения от Comer
  № 34  
Ответить с цитированием
Comer

Регистрация: Dec 2010
Сообщений: 121
Цитата:
Сообщение от ZergMaster Посмотреть сообщение
по сути, вы просите сделать все за вас
Да я понимаю, что это не этично. но я, честное слово, был уверен, что всё правильно написал. Думал, без массивов обойдусь. Никак они мне не даются...
__________________
Учить Flash начал, когда мне стукнуло 50. И не жалею!

Старый 13.12.2017, 18:18
ZergMaster вне форума Посмотреть профиль Отправить личное сообщение для ZergMaster Найти все сообщения от ZergMaster
  № 35  
Ответить с цитированием
ZergMaster
 
Аватар для ZergMaster

Регистрация: May 2008
Адрес: Питер
Сообщений: 385
Отправить сообщение для ZergMaster с помощью ICQ Отправить сообщение для ZergMaster с помощью Skype™
нужно
1. загрузить картинки в массив
2. добавить две кнопки на сцену (влево -вправо)
3. завести int переменную, которая будет отвечать за показывающийся сейчас слайд.
4. при нажатии на кнопку изменять переменную (+1 либо -1 - в зависимости от направления) и показывать элемент массива, соответствующий переменной. Единственное, что нужно будет учесть - возвращать переменную в 0, если она становится больше длины массива и делать равно длине массива-1, если она становится больше или равно его длине
__________________
while(live()) { hope(); }

Старый 13.12.2017, 18:22
Comer вне форума Посмотреть профиль Отправить личное сообщение для Comer Найти все сообщения от Comer
  № 36  
Ответить с цитированием
Comer

Регистрация: Dec 2010
Сообщений: 121
Цитата:
Сообщение от ZergMaster Посмотреть сообщение
нужно
1. загрузить картинки в массив
2. добавить две кнопки на сцену (влево -вправо)
3. завести int переменную, которая будет отвечать за показывающийся сейчас слайд.
4. при нажатии на кнопку изменять переменную (+1 либо -1 - в зависимости от направления) и показывать элемент массива, соответствующий переменной. Единственное, что нужно будет учесть - возвращать переменную в 0, если она становится больше длины массива и делать равно длине массива-1, если она становится больше или равно его длине
Большое вам спасибо, ребята, за участие! Вы много со мной проваландались. Вот, просто от души благодарен!
__________________
Учить Flash начал, когда мне стукнуло 50. И не жалею!

Старый 13.12.2017, 18:24
Appleman вне форума Посмотреть профиль Отправить личное сообщение для Appleman Найти все сообщения от Appleman
  № 37  
Ответить с цитированием
Appleman
 
Аватар для Appleman

Регистрация: Dec 2014
Адрес: Санкт-Петербург
Сообщений: 483
Цитата:
Сообщение от ZergMaster Посмотреть сообщение
и делать равно длине массива-1, если она становится больше или равно его длине
В последней фразе ты хотел сказать, "если она становится меньше нуля", я полагаю.

Старый 13.12.2017, 18:28
undefined вне форума Посмотреть профиль Отправить личное сообщение для undefined Найти все сообщения от undefined
  № 38  
Ответить с цитированием
undefined

Регистрация: Oct 2006
Сообщений: 2,282
Цитата:
Никак они мне не даются
В чем конкретно сложность?Для начала, все что надо понимать, это что массив - это просто список объектов.Добавлять в него новые элементы можно так:
Код AS3:
myArray.push(myObject);
либо так
Код AS3:
myArray[10]=myObject;
получать элемент из массива можно так:
Код AS3:
trace(myArray[10]);

Старый 13.12.2017, 18:29
Comer вне форума Посмотреть профиль Отправить личное сообщение для Comer Найти все сообщения от Comer
  № 39  
Ответить с цитированием
Comer

Регистрация: Dec 2010
Сообщений: 121
Правда, флешка всё равно не работает. Добавил кнопки, дал им имена, но загрузилась только первая картинка, и всё. Но, не смею вас больше беспокоить. Потому что в итоге получится, что вы всё сделаете за меня...
__________________
Учить Flash начал, когда мне стукнуло 50. И не жалею!

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

Регистрация: May 2008
Адрес: Питер
Сообщений: 385
Отправить сообщение для ZergMaster с помощью ICQ Отправить сообщение для ZergMaster с помощью Skype™
Comer
для того, чтобы понять, что такое массив - идете в гугл и набираете "Array as3" и проходите по первой ссылке.
Лучше, конечно, почитать какую-нибудь книгу на вроде "Алгоритмы и структуры данных" - помогает. И, кстати, очень даже интересно.
чтобы работало, попробуйте переделать немного метод onClick из примера undefined

Код AS3:
function onClick(event:MouseEvent):void
{
        var target:MovieClip = event.target as MovieClip;
        trace('target = '+target);
 
        for(var i:int=0; i<images.length; i++) 
        {
                images[curImage].visible=false;
        }
 
	if (target==next_btn as MovieClip) 
        {
		curImage++;
		if(curImage>(images.length-1)) curImage=0;
	} 
        else if (target==prev_btn as MovieClip) 
        {
		curImage--;
		if(curImage<0) curImage=images.length-1;
	}
 
        images[curImage].visible=true;
}
__________________
while(live()) { hope(); }

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

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

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


 


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


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