Создание галереи изображений
Подскажите, как создать небольшую галерею изображений по такому типу приложения ВК(начало, где объявление разных игр):
https://vk.com/app2857249_3028443?ref=9
То есть, имеется 8 картинок, по клику левой\правой стрелки они меняются (сдвигаются влево\вправо соответственно)
накидал код, но меняются они не совсем так(сдвигаются они лентой, и нижний и верхний уровень, одна за другой, да еще и первый элемент остается на месте. пока два раза не отработает)
Код AS3:
package
{
import flash.display.Bitmap;
import flash.display.Sprite;
import flash.events.MouseEvent;
import flash.text.TextField;
/**
* ...
* @author Heidy
*/
public class GameContainer extends Sprite
{
private var _oneelement:Array = new Array();
private var _bitmapElement:Array = [new Bitmap(new Balls), new Bitmap(new Balda), new Bitmap(new Bubbles), new Bitmap(new Chess), new Bitmap(new Domino), new Bitmap(new Dots), new Bitmap(new Lines), new Bitmap(new Sudoku)];
private var _elementButton:Button;
private var _myText:TextField;
//private var _currentPage:int = 0;
public function GameContainer()
{
var bg:Bitmap = new Bitmap(new Backgroundgame);
addChild(bg);
for (var i:int = 0; i < 6; ++i)
{
_elementButton = new Button();
_myText = new TextField();
_oneelement[i] = new Sprite();
_oneelement[i].addChild(_bitmapElement[i]);
addChild(_oneelement[i]);
_oneelement[i].x = 120 + i % 3 * 200;
_oneelement[i].y = 150 + int(i / 3) * 150;
_elementButton.x = (_oneelement[i].width - _elementButton.width) / 2;
_elementButton.y = (_oneelement[i].height - _elementButton.height) / 2;
var myTextFormat:flash.text.TextFormat = new flash.text.TextFormat("Times New Roman", 16, 0x000000, true);
_myText.defaultTextFormat = myTextFormat;
_myText.text = "Войти";
_myText.selectable = false;
_myText.x = (_oneelement[i].width - _elementButton.width) / 2;
_myText.y = (_oneelement[i].height - _elementButton.height) / 2;
_oneelement[i].addChild(_elementButton);
_oneelement[i].addChild(_myText);
}
var arrowLeft:Arrowleft = new Arrowleft;
arrowLeft.x = 10;
arrowLeft.y = 250;
arrowLeft.addEventListener(MouseEvent.MOUSE_DOWN, onMouseLeft);
addChild(arrowLeft);
var arrowRight:Arrowright = new Arrowright;
arrowRight.x = 760;
arrowRight.y = 250;
arrowRight.addEventListener(MouseEvent.MOUSE_DOWN, onMouseRight);
addChild(arrowRight);
}
private function onMouseRight(e:MouseEvent):void
{
/*_currentPage++;
for (var i:int = 0; i < 6; i++)
{
_oneelement[i].addChildAt(_bitmapElement[i + _currentPage], 0);
//_bitmapElement[i].removeChildAt(0);
}*/
// удаляем нулевой элемент и сразу потом пушим на его место другой
var k:Bitmap = _bitmapElement[i];
_bitmapElement.splice(0, 1);
_bitmapElement.push(k);
for (var i:int = 0; i < _oneelement.length; i++)
{
_oneelement[i].addChildAt(_bitmapElement[i], 0);
addChild(_oneelement[i]);
trace(i);
}
}
private function onMouseLeft(e:MouseEvent):void
{
/*_currentPage++;
for (var i:int = 0; i < 6; i++)
{
_oneelement[i].addChildAt(_bitmapElement[i + _currentPage], 0);
//_bitmapElement[i].removeChildAt(0);
}*/
var f:Bitmap = _bitmapElement[i];
_bitmapElement.splice(0, 1);
_bitmapElement.push(f);
for (var i:int = 0; i < _oneelement.length; i++)
{
_oneelement[i].addChildAt(_bitmapElement[i], 0);
addChild(_oneelement[i]);
trace(i);
}
}
}
}
|