![]() |
|
||||||||||
|
|||||
|
[+1,3 20,09,06]
Регистрация: Mar 2006
Сообщений: 57
|
Привет. Добрые люди, помогите с прокруткой разобраться. Чтобы фотки по нажатию на кнопку пролистывались в окошке
Я делал как: брал допустим 3 фотки, распологал их вертикально, объдинял в символ, задавал движение и по нажатию кнопки они просто опускались. Но мне кажется этот способ не очень верный, может можно ещё как-то это реализовать? |
|
|||||
|
4AM Games
|
Сомневаюсь что тебе поможет, писал когда появилась восьмерка
//рисуем прямоугольник который будем скролить
import flash.display.BitmapData;
import flash.geom.Rectangle;
import flash.geom.Point;
import mx.transitions.Tween;
import mx.transitions.easing.*;
var image:BitmapData = new BitmapData(200,1000,false,0xff6600);
//делаем его не однородным, чтоб было видно скроллиг
for(var i:Number=0;i<2;i++) {
image.copyPixels(new BitmapData(200,200,false,0xff0066),new Rectangle(0,0,200,200),new Point(0,i*400));
}
//создаем мувиклипы
createEmptyMovieClip("container_mc",1).createEmptyMovieClip("content_mc",1).attachBitmap(image,container_mc.content_mc.getNextHighestDepth());
//ограничиваем видимость
container_mc.scrollRect = new Rectangle(0,0,200,200);
var content_mc:MovieClip = container_mc.content_mc;
//делай функцию, которая будет рисовать кнопки
function createButton(parent:MovieClip,label:String,x:Number,y:Number):MovieClip {
var d:Number = parent.getNextHighestDepth();
var result:MovieClip = parent.createEmptyMovieClip("button"+d+"_mc",d);
result._x = x;
result._y = y;
result.createTextField("text_txt",1,0,0,0,0).autoSize=true;
result.text_txt.text = label;
return result;
}
//
var tween:Tween = new Tween(content_mc,"_y",Elastic.easeOut,0,0,1,true);
tween.onMotionFinished = function ():Void {
trace("function");
if(content_mc._y > 0 ) {
trace("move up");
this.continueTo(0,.5);
}else if(content_mc._y < (content_mc._height-container_mc.scrollRect.height)*(-1)) {
trace("move down");
this.contunueTo((content_mc._height-container_mc.scrollRect.height)*(-1),.5);
}
}
function move(direction:String):Void {
trace((content_mc._height-container_mc.scrollRect.height)*(-1));
if(content_mc._y <= 0 && content_mc._y >= (content_mc._height-container_mc.scrollRect.height)*(-1)) {
var d:Number = (direction == "up")? content_mc._y+10:content_mc._y-10;
tween.continueTo(d,1);
}
}
createButton(this,"up",200,0).onRelease = function ():Void {
move("up");
}
createButton(this,"down",200,200).onRelease = function ():Void {
move("down");
}
__________________
Я перестал переписывать, начал редактировать, еще лет 15 и я стану писателем ^_^ |
|
|||||
|
[+1,3 20,09,06]
Регистрация: Mar 2006
Сообщений: 57
|
Спасибо, сейчас опробую этот вариант
|
![]() |
![]() |
Часовой пояс GMT +4, время: 10:51. |
|
|
« Предыдущая тема | Следующая тема » |
|
|