Codice PHP:
function drawRect (w:Number = 100.0, h:Number = 100.0, c:uint = 0, b:Number = NaN, l:uint = 0):MovieClip {
var temp:MovieClip = new MovieClip();
temp.graphics.lineStyle (b, l, 1, false, "normal", "none", "miter", 255);
temp.graphics.beginFill (c, 1.0);
temp.graphics.drawRect (0, 0, w, h);
temp.graphics.endFill ();
return temp;
}
var t:TextField = new TextField ();
addChild (t);
t.x = t.y = 10;
t.width = t.height = 200;
t.multiline = t.wordWrap = t.border = t.background = true;
t.appendText ("Lorem ipsum dolor sit amet, consectetur adipiscing elit. Mauris bibendum sapien. Aenean mollis feugiat neque. Aliquam erat volutpat. Sed vulputate ultrices sapien. Nunc quis nibh. Sed volutpat, erat vel porta mollis, tellus tellus euismod mi, vel accumsan nibh risus ac mi. Aenean ac eros. Aliquam egestas ante a massa. Duis elementum elementum urna. Sed vitae mi.\nCras rutrum massa ut massa. Suspendisse non velit mollis neque vestibulum luctus. Donec arcu. Fusce fermentum quam eu enim. Class aptent taciti sociosqu ad litora torquent per conubia nostra, per inceptos himenaeos. Class aptent taciti sociosqu ad litora torquent per conubia nostra, per inceptos himenaeos. Donec fringilla pellentesque nisi. Duis pretium, sem vitae sagittis ultrices, enim elit scelerisque leo, vel fermentum velit diam vitae turpis. Lorem ipsum dolor sit amet, consectetur adipiscing elit. Etiam turpis. Proin eget turpis. Cras vitae libero. Mauris rutrum odio id purus. Nam urna diam, accumsan vitae, dapibus in, mollis sit amet, mi. Aliquam lorem purus, aliquet in, aliquam quis, blandit at, nisi. Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas. Phasellus mollis tincidunt metus. Mauris sed mauris eu tellus accumsan ullamcorper. Donec dignissim lobortis lacus. In hac habitasse platea dictumst.\nUt ut purus sit amet justo ultrices feugiat. Mauris accumsan, lacus quis lacinia rutrum, dolor eros imperdiet mauris, vel consectetur mauris ipsum eu dolor. Morbi rutrum vulputate purus. Praesent elit nulla, cursus vitae, luctus id, volutpat ut, neque. Mauris dui. Vestibulum egestas ante mattis est. Cras lacus. Nam consectetur sapien ut ipsum. Quisque interdum, sapien vel vestibulum euismod, massa purus auctor est, ac commodo lectus metus at odio. Donec luctus, massa vitae molestie vulputate, odio libero condimentum neque, ut aliquam diam tellus vitae enim. Duis eu lorem. Sed sodales quam sit amet dui. Aliquam erat volutpat. Vestibulum lacinia. Ut placerat condimentum mauris. Sed velit odio, ultrices a, tempor nec, varius eu, magna. Donec neque mi, gravida ac, imperdiet sed, auctor a, ante.\nDonec imperdiet luctus mi. Vivamus in ante ac risus tincidunt ultrices. Vestibulum massa dolor, rhoncus sed, venenatis et, porttitor et, nisi. Sed nec metus. Nunc augue. Integer turpis sem, dignissim eu, sodales ac, porta vitae, ante. Cras tincidunt lorem quis nibh. In sodales luctus dolor. Integer fringilla, dui vitae mollis iaculis, dui quam suscipit risus, sed bibendum orci risus sed felis. Cras ut magna vel nunc pretium faucibus.\nDuis pellentesque elementum turpis. Suspendisse justo libero, sodales nec, scelerisque in, pharetra id, felis. Donec magna eros, molestie et, viverra non, euismod sed, ligula. Class aptent taciti sociosqu ad litora torquent per conubia nostra, per inceptos himenaeos. Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas. Cras vitae leo a nibh rhoncus molestie. Quisque erat. Fusce consectetur sem id lorem. Nullam elit odio, semper sit amet, dictum ut, lobortis et, metus. Nulla vestibulum velit sagittis turpis. Suspendisse cursus magna sit amet velit. Aliquam elementum, turpis elementum iaculis convallis, enim orci porttitor tortor, sit amet euismod velit odio nec tortor. Donec neque mauris, suscipit eget, sollicitudin sed, commodo eu, nunc. FINE");
var b1:Sprite = addChild(drawRect(10, 10, 0)) as Sprite;
b1.y = 10;
b1.addEventListener (MouseEvent.MOUSE_DOWN, down);
var b2:Sprite = addChild(drawRect(10, 10, 0)) as Sprite;
b2.y = t.getBounds(this).bottom - 10;
b2.addEventListener (MouseEvent.MOUSE_DOWN, down);
var s:Sprite = addChild(new Sprite()) as Sprite;
s.addChild (drawRect(10, 170, 0xFFFFFF, 1, 0));
s.addChild (drawRect(10, 30, 0));
b1.x = b2.x = s.x = t.getBounds(this).right+5;
s.y = 25;
t.addEventListener (Event.SCROLL, scroll);
s.addEventListener (MouseEvent.MOUSE_DOWN, drag);
function drag (evt:MouseEvent):void {
var temp:MovieClip = s.getChildAt(1) as MovieClip;
temp.startDrag (false, new Rectangle(0, 0, 0, 140));
s.addEventListener (Event.ENTER_FRAME, move);
stage.addEventListener (MouseEvent.MOUSE_UP, drop);
}
function drop (evt:MouseEvent):void {
s.removeEventListener (Event.ENTER_FRAME, move);
stage.removeEventListener (MouseEvent.MOUSE_UP, drop);
s.stopDrag ();
b1.removeEventListener (Event.ENTER_FRAME, enterFrame);
b2.removeEventListener (Event.ENTER_FRAME, enterFrame);
}
function move (evt:Event):void {
t.scrollV = (t.maxScrollV * s.getChildAt(1).y) / (s.getChildAt(0).height-s.getChildAt(1).height);
}
function scroll (evt:Event):void {
s.getChildAt(1).y = Math.round((t.scrollV * (s.getChildAt(0).height-s.getChildAt(1).height)) / t.maxScrollV);
if (t.scrollV == 1) {
s.getChildAt(1).y = 0;
}
}
function down (evt:MouseEvent):void {
stage.addEventListener (MouseEvent.MOUSE_UP, drop);
evt.currentTarget.addEventListener (Event.ENTER_FRAME, enterFrame);
}
function enterFrame (evt:Event):void {
if (evt.currentTarget == b2) {
t.scrollV++;
} else {
t.scrollV--;
}
}