{lang: 'de'}
Flashhilfe.de - Flash Community

Scrollen in App + Links [AIR 2]

 


AntwortenRegistrieren Seite1  

calido#1
Benutzerbild von calido
Beiträge: 1
Registriert: Nov 2013

01.11.2013, 23:15

Hallo zusammen,

ich versuche gerade eine App zu entwickeln, allerdings bekomme ich es nicht hin, dass man den Inhalt scrollen kann, aber auch unterschiedliche Links im Inhaltsbereich benutzen kann. Um Scrollen zu können, habe ich nämlich bisher nur eine Lösung gefunden, bei der man den gesamten Bereich, der gescrollt werden soll, in einen Movieclip konvertieren muss. Dadurch kann ich allerdings den Inhaltsbereich nicht unterteilen, sodass der User auf unterschiedliche Links klicken kann. Ich möchte zum Beispiel ein Inhaltsverzeichnis erstellen, welcher gescrollt werden kann, aber bei dem man gleichzeitig auch auf die unterschiedlichen klicken kann und dorthin verlinkt wird.
Bisher nutze ich folgenden Code:
ActionScript:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
var speed:Number;
var speedArray:Array;
var prevY:Number;

var DRAG:Number = 20;

var HEIGHT:int = 550;

scroll_mc.addEventListener(MouseEvent.MOUSE_DOWN, onDown);

function onDown(evt:MouseEvent):void {
     speedArray = new Array(0,0,0,0,0,0,0,0,0,0);
     speed = 0;
     prevY = this.mouseY;
     stage.addEventListener(Event.ENTER_FRAME, onDownEnter);
     stage.addEventListener(MouseEvent.MOUSE_UP, onUp);
}

function onDownEnter(evt:Event):void {
     var sp = this.mouseY - prevY;
     scroll_mc.y += sp;
     if (scroll_mc.y < (HEIGHT-scroll_mc.height)) {
        scroll_mc.y = (HEIGHT-scroll_mc.height);
     }
     else if (scroll_mc.y > 0) {
        scroll_mc.y = 0;
     }
     speedArray.push(sp);
     speedArray.shift();
     prevY = this.mouseY;
}

function onUp(evt:MouseEvent):void {
     stage.removeEventListener(Event.ENTER_FRAME, onDownEnter);
     stage.removeEventListener(MouseEvent.MOUSE_UP, onUp);
     
     speed = 0;
     for (var i:int = 0; i<speedArray.length; i++) {
        speed += speedArray[i];
     }
     speed /= speedArray.length;
     
     addEventListener(Event.ENTER_FRAME, onEnter);
}

function onEnter(evt:Event):void {
     if (Math.abs(speed) < .5) {
        speed = 0;
     }
     if (speed < 0) {
        if (scroll_mc.y > (HEIGHT-scroll_mc.height) - speed) {
           scroll_mc.y += speed;
           speed -= speed/DRAG;
        }
        else {
           scroll_mc.y = (HEIGHT-scroll_mc.height);
           speed = 0;
        }
     }
     else {
        if (scroll_mc.y < 0-speed) {
           scroll_mc.y += speed;
           speed -= speed/DRAG;
        }
        else {
           scroll_mc.y = 0;
           speed = 0;
        }
     }
}


Ich bedanke mich jetzt schon mal ganz herzlich für eure Hilfe!
Schlagwörter: Scroll
Kerstin77#2
Benutzerbild von Kerstin77
Beiträge: 1004
Registriert: Jul 2008

24.03.2014, 14:27