Mousewheel in Papervision3D ist ungenau ??? [Flash 9]
| 26.03.2009, 17:22 | | Beiträge: 1411 Wohnort: Leverkusen Registriert: Jul 2006
| Mousewheel in Papervision3D ist ungenau ??? Hallo^^
Ich habe ein Problem mit dem Mousewheel in Papervision3D. Mit folgendem Script bewege ich Bilde von vorne nach hinten und umgekehrt:
ActionScript:1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 | stage.addEventListener(MouseEvent.MOUSE_WHEEL, CameraZoom);
function CameraZoom(e:MouseEvent) {
if(cameramove == true) {
var animationdata = e.delta / 3;
Math.round(animationdata);
if(animationdata > 1) {
animationdata = 1;
}
if(animationdata < -1) {
animationdata = -1;
}
planeAnimation(currentPlaneIndex + animationdata);
}
};
|
Wie Ihr sehen könnt wird dann auch immer die Funktion planeAnimation aufgerufen. Das funktioniert auch alle super gut! Aber es werden immer auch nur bei einem kleinem dreh an dem Mausrad immer 2 Bilder anstatt 1 Bewegt. Damit auch immer nur 1 Bild verschoben wird muß ich sicherstellen das der Wert animationdata immer entweder den Wert 1 oder -1 hat. Dies mache ich hiermit:
ActionScript:1 2 3 4 5 6 7 8 9 | Math.round(animationdata);
if(animationdata > 1) {
animationdata = 1;
}
if(animationdata < -1) {
animationdata = -1;
}
|
Eigentlich müsste der Wert jetzt immer entweder 1 oder -1 sein. Beim tracen ist mir auch aufgefallen das dies stimmt. Allerdings werde trotzdem immer 2 bilder vershoben.
Ich habe auch mal das hier ausprobiert:
ActionScript:1 2 3 | planeAnimation(currentPlaneIndex + 1);
planeAnimation(currentPlaneIndex + -1);
|
Das hat dann prima funktioniert! Mir ist aber auch aufgefallen das dieses Problem nur im Firefox Browser ist, im IE läuft es genauso wie ich es möchte. Und ich hätte nie gedacht da ich das mal sagen würde, aber diesmal macht der IE keine Probleme ;)
Es wäre super wenn mir jemand sagen könnte woran das liegen kann!!!
Gruß Atticus^^ | |
| 26.03.2009, 18:02 | Re1 | Beiträge: 5285 Wohnort: Bernau (bei
Berlin) Registriert: Nov 2002
| Vielleicht wird ja im Firefox das Mouse(Wheel)Event zweimal gefeuert. | |
| 26.03.2009, 18:14 | Re2 | Beiträge: 1411 Wohnort: Leverkusen Registriert: Jul 2006
Themenautor/in
| Hi badskill^^
Das würde auch erklären warum 2 Bilder Animiert werden. ;) Hättest du den noch eine idee wie man das dann so manipulieren kann das es auch im Firefox funktioniert ???
Gruß Atticus^^ | |
| | | nicht sichtbar bei eingeloggten Mitgliedern |
|
| 26.03.2009, 18:58 | Re3 | Beiträge: 1411 Wohnort: Leverkusen Registriert: Jul 2006
Themenautor/in
| Hallo^^
Ich habe eine Lösung gefunden :) Ich habe den Wert cameramove auf false gesetzt und dann etwas Zeitversetzt wieder auf true. Das Script sieht jetzt so aus:
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 | stage.addEventListener(MouseEvent.MOUSE_WHEEL, CameraZoom);
function CameraZoom(e:MouseEvent) {
if(cameramove == true) {
cameramove = false;
intervalIdMousewheel = setInterval(Mousewheel, 100);
var animationdata = e.delta / 3;
Math.round(animationdata);
if(animationdata > 1) {
animationdata = 1;
}
if(animationdata < -1) {
animationdata = -1;
}
planeAnimation(currentPlaneIndex + animationdata);
}
};
function Mousewheel():void {
cameramove = true;
clearInterval(intervalIdMousewheel);
};
|
So funktioniert es jetzt auch im Firefox Browser obwohl das Event wohl 2 mal gefeuert wird ;)
Gruß Atticus^^ | |
| | Themen Ähnliche Beiträge zum Thema | 19.08.2011 - latsche 20.09.2010 - Executor 30.04.2010 - ClausmitZeh 25.08.2009 - wolf73 |
|
Flashhilfe.de Flash Platform Tipps & Tutorials Flash Platform Andere Programmiersprachen Jobangebote Diskussionen
Flashhilfe News 
Regeln & Bedingungen
|