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
Werbung
Beiträge: 0
Registriert: Feb 2016


Kerstin77#2
Benutzerbild von Kerstin77
Beiträge: 1004
Registriert: Jul 2008

24.03.2014, 14:27

Hallo,

die Antwort ist zwar etwas spät, aber wenn es auch eine Komponente sein darf, dann schau Dir mal die ScrollPane an.

Grüße
Kerstin
Wer Rechtschreibfehler findet, darf sie gerne behalten.

AntwortenRegistrieren Seite1  

Schnellantwort

Du musst registriert sein, um diese Funktion nutzen zu können.

 
Ähnliche Beiträge zum Thema
Partner Webseiten: art-and-law.de  Mediengestalter.info   php-resource.de   phpforum.de   phpwelt.de   Pixelio.de   Scubacube.de  
Haftungsausschluss   Datenschutzerklärung   Hier Werben   Impressum
© 1999-2019 Sebastian Wichmann - Flashhilfe.de