Hallo,
ich habe hier einen Scrollbalken, der "noch nicht" auf Mousewheel reagiert. Ich habe mittlerweile viel Zeit investiert und habe noch keine Lösung gefunden dies zu realisieren.
Ich bin schon so verzweifelt, ich würde mich das auch was kosten lassen
Hier mal der bisherige Code mit der Hoffnung, dass jemand sich besser damit auskennt:
Code:
var sd:Number;
var sr:Number;
var cd:Number;
var cr:Number;
var new_y:Number;
var drag_area:Rectangle;
var data_content:MovieClip;
var data_content_area:MovieClip;
var scrolling_speed:Number; // 0.00 to 1.00
function scrolling( ct:String, ct_area:String, speed:Number ):void
{
scrolling_speed = speed;
if( scrolling_speed < 0 || scrolling_speed > 1 ) scrolling_speed = 0.50;
data_content = parent[ct];
data_content_area = parent[ct_area];
data_content.mask = data_content_area;
data_content.x = data_content_area.x;
data_content.y = data_content_area.y;
sr = data_content_area.height / data_content.height;
data_scroller.height = data_scrollable_area.height * sr;
sd = data_scrollable_area.height - data_scroller.height;
cd = data_content.height - data_content_area.height;
cr = cd / sd * 1;
drag_area = new Rectangle(0, 0, 0, data_scrollable_area.height - data_scroller.height + 1);
if ( data_content.height <= data_content_area.height )
{
data_scroller.visible = data_scrollable_area.visible = false;
}
data_scroller.addEventListener( MouseEvent.MOUSE_DOWN, scroller_drag );
data_scroller.addEventListener( MouseEvent.MOUSE_UP, scroller_drop );
this.addEventListener( Event.ENTER_FRAME, on_scroll );
}
function scroller_drag( me:MouseEvent ):void
{
me.target.startDrag(false, drag_area);
stage.addEventListener(MouseEvent.MOUSE_UP, up);
}
function scroller_drop( me:MouseEvent ):void
{
me.target.stopDrag();
stage.removeEventListener(MouseEvent.MOUSE_UP, up);
}
function up( me:MouseEvent ):void
{
data_scroller.stopDrag();
}
function on_scroll( e:Event ):void
{
new_y = data_content_area.y + data_scrollable_area.y * cr - data_scroller.y * cr;
data_content.y += ( new_y - data_content.y ) * scrolling_speed;
}