| |||||||
Du magst keine Werbung? Wir auch nicht!
Einfach registrieren und die Werbung ist weg. Diese Nachricht sehen nur nicht registrierte Nutzer.
![]() |
| | LinkBack | Themen-Optionen | Ansicht |
| | #1 (permalink) |
| Neuer User Registriert seit: Dec 2003 Ort: berlin
Beiträge: 28
| Scroll programmatically and smooth
Hey, ich hab folgendes Problem: Eine HBox ist gefüllt mit einigen Bildern und soll per knopfdruck nach links bzw. rechts scrollen. Das Ganze soll jedoch smooth (mit vorgegebener Geschwindigkeit) passieren und nicht einfach Springen. Einfach genau so, wie wenn man mit der Maus in der Scrollleiste draggen würde. Meine Idee war einfach die horizontalScrollPosition mit caurina.Tweener zu manipulieren Code: var toScroll:HBox;
var newPosition:Number;
...
Tweener.addTween(toScroll,{horizontalScrollPosition:newPosition,time:5.0,}); Ich hoffe jemand hat eine Idee, viele Grüße, benny |
| | |
| | #2 (permalink) |
| Gast
Beiträge: n/a
|
Wenn du es einfach halten willst, nimm einen Move-Effekt: PHP-Code: |
|
| | #3 (permalink) |
| Neuer User Registriert seit: Oct 2008
Beiträge: 148
|
hi, geht auch mit tweener... fast noch einfacher... ;-) ruckeln ist mir nicht aufgefallen Code: <?xml version="1.0" encoding="utf-8"?>
<mx:WindowedApplication xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute">
<mx:Script>
<![CDATA[
import caurina.transitions.Tweener;
[Bindable]
private var _scrollPosition:Object = {scrollx:0,step:30};
private function scroll(dir:Boolean):void
{
// hier gehen beide varianten, zweitere ist wohl etwas eleganter...
//Tweener.addTween(this._scrollPosition,{time:1,scrollx:dir ? this._scrollPosition.scrollx + this._scrollPosition.step : this._scrollPosition.scrollx - this._scrollPosition.step,onUpdate:updater});
Tweener.addTween(this.myBox,{time:1,horizontalScrollPosition:dir ? this.myBox.horizontalScrollPosition + this._scrollPosition.step : this.myBox.horizontalScrollPosition - this._scrollPosition.step});
}
private function updater():void
{
this.myBox.horizontalScrollPosition = this._scrollPosition.scrollx;
}
]]>
</mx:Script>
<mx:HBox id="myBox" width="200" height="60" horizontalScrollPolicy="off" verticalScrollPolicy="off" horizontalCenter="-0" verticalCenter="-0">
<mx:Canvas width="50" height="50" backgroundColor="0xff9900"/>
<mx:Canvas width="50" height="50" backgroundColor="0xff9900"/>
<mx:Canvas width="50" height="50" backgroundColor="0xff9900"/>
<mx:Canvas width="50" height="50" backgroundColor="0xff9900"/>
<mx:Canvas width="50" height="50" backgroundColor="0xff9900"/>
<mx:Canvas width="50" height="50" backgroundColor="0xff9900"/>
<mx:Canvas width="50" height="50" backgroundColor="0xff9900"/>
<mx:Canvas width="50" height="50" backgroundColor="0xff9900"/>
</mx:HBox>
<mx:Button label="Button" click="scroll(false)" horizontalCenter="-140" verticalCenter="-0"/>
<mx:Button label="Button" click="scroll(true)" horizontalCenter="140" verticalCenter="0"/>
</mx:WindowedApplication> Geändert von sytch (11-06-2009 um 18:55 Uhr) |
| | |
| | #4 (permalink) |
| Neuer User Registriert seit: Dec 2003 Ort: berlin
Beiträge: 28
|
hey leute, danke für die antworten. Ich habe eure code beispiele ausprobiert, doch leider ruckelt es weiterhin. Mit einem Canvas fällt das nicht sehr auf bzw. ist vielleicht auch nicht so doll, aber bei meinen Images ist es alles andere als smooth. Sollte ich die png Bilder vielleicht in irgend einer art und weiße konvertieren? Warum funktioniert es perfekt, wenn ich mit der hand scrolle? grüße, benny |
| | |
![]() |
| Lesezeichen |
| Stichworte |
| performance, programmatically, scroll, tween |
| Themen-Optionen | |
| Ansicht | |
| |