Zurück   Flashforum > Flash > ActionScript > ActionScript 1

Antwort
 
LinkBack Themen-Optionen Ansicht
Alt 04-06-2004, 08:11   #1 (permalink)
Neuer User
 
Registriert seit: May 2004
Beiträge: 60
drehung stopt nicht

servus

das unten gezeigte script soll bei 62 bzw 45 grad stopen
warum tuts nicht

onClipEvent (load)
{
speed = 10/3;
}
onClipEvent (enterFrame)
{
if (this.hittest(_ymouse, true))
{
_root.navi.e2navi._rotation<62;
_root.navi.e2navi._rotation += speed;
}
else
{
_root.navi.e2navi._rotation<45;
_root.navi.e2navi._rotation -= speed;
}
}

gebt mir mal einen tipp

mfg vandyce
__________________
danke fürs posten
vandyce ist offline   Mit Zitat antworten
Alt 04-06-2004, 08:23   #2 (permalink)
Phlasher
 
Benutzerbild von gerard
 
Registriert seit: Nov 2001
Ort: Unna-Königsborn (NRW)
Beiträge: 466
Mach mal : hitTest(_root._xmouse,_root._ymouse)


Gruss
__________________
Keep on Flashing
gerard ist offline   Mit Zitat antworten
Alt 04-06-2004, 08:35   #3 (permalink)
Neuer User
 
Registriert seit: May 2004
Beiträge: 60
das wars leider nicht

gruß vandyce
__________________
danke fürs posten
vandyce ist offline   Mit Zitat antworten
Alt 04-06-2004, 08:57   #4 (permalink)
The Man Who Wasn't There
 
Benutzerbild von fraggle two
 
Registriert seit: Jul 2003
Ort: BÄRLIN
Beiträge: 1.156
hi,

hatte auch mal nen prob mit rotation.
das problem war, das die winkelangaben in flash von 0-180 und von -180-0 grad ausgewertet werden.

konnte das problem dann lösen in dem ich mit %(modulo) den restwert zu 360 grad ausgeben lasse und damit dann weiterarbeite.

gruß
mike
__________________
Dot-Realities
Mike Broders
Berlin

ICQ:105925103

Dot-Realities v4.0 under construction!
fraggle two ist offline   Mit Zitat antworten
Alt 04-06-2004, 09:18   #5 (permalink)
Neuer User
 
Registriert seit: May 2004
Beiträge: 60
@ fraggle two

was würde das für dieses scrpit bedeuten

ich bin noch nicht so der wahnsinns scripter
und versteh grad wenig von dem was du gesagt hast

mfg vandyce
__________________
danke fürs posten
vandyce ist offline   Mit Zitat antworten
Alt 04-06-2004, 09:29   #6 (permalink)
All-rounder
 
Benutzerbild von thebiz
 
Registriert seit: Mar 2004
Ort: Bayerische Rhön
Beiträge: 2.507
meinst du so?!

var speed = 2;
_root.onEnterFrame = function() {
if (_root.navi.e2navi.hitTest(_root._xmouse, _root._ymouse) && _root.navi.e2navi._rotation == 62) {
} else {
_root.navi.e2navi._rotation += speed;
}
};

das gleich dann halt noch für 45 grad.
thebiz ist offline   Mit Zitat antworten
Alt 04-06-2004, 10:23   #7 (permalink)
The Man Who Wasn't There
 
Benutzerbild von fraggle two
 
Registriert seit: Jul 2003
Ort: BÄRLIN
Beiträge: 1.156
hi,

also wenn du dir mit bla=this._rotation den wert des rotationswinkels ausgeben läßt bekommst du nen wert von 0-180 und von -180 bis 0.

damit kann man nicht so gut arbeiten.

damit du werte von 0-360 bekommst kannst du folgendes machen:

Code:
badRotation = this._rotation + 360;
goodRotation =  badRotation % 360;
trace(goodRotation);
für this kannst du nen beliebigen mc-bezeichner einsetzen.

gruß
mike
__________________
Dot-Realities
Mike Broders
Berlin

ICQ:105925103

Dot-Realities v4.0 under construction!
fraggle two ist offline   Mit Zitat antworten
Alt 04-06-2004, 10:24   #8 (permalink)
Neuer User
 
Registriert seit: May 2004
Beiträge: 60
@ thebiz

hab dein script jetzt so umgesetzt :


onClipEvent (load) {
speed = 3;
}
onClipEvent (enterFrame)
{
function dreh ()
{
if (this.hittest(_root.navi.blindoben._ymouse, true))
{
if (_root.navi.e2navi.hitTest(_root._xmouse, _root._ymouse) && _root.navi.e2navi._rotation == 62)
{
}
else
{
_root.navi.e2navi._rotation += speed;
}
}
else
{
if (_root.navi.e2navi.hitTest(_root._xmouse, _root._ymouse) && _root.navi.e2navi._rotation == 45)
{
}
else
{
_root.navi.e2navi._rotation -= speed;
}
}
}
}


onClipEvent (enterFrame)
{
dreh ();
}

das ding dreht sich aber immer noch munter im kreis hab ich bei der umsetztung was verbockt

mfg vandyce
__________________
danke fürs posten
vandyce ist offline   Mit Zitat antworten
Alt 04-06-2004, 10:28   #9 (permalink)
All-rounder
 
Benutzerbild von thebiz
 
Registriert seit: Mar 2004
Ort: Bayerische Rhön
Beiträge: 2.507
das problem ist, wenn sich das ding immer mit 3 grad dreht erreicht es nie die 62 grad, weil 3 ja kein teiler von 62 ist.
thebiz ist offline   Mit Zitat antworten
Alt 04-06-2004, 10:30   #10 (permalink)
The Man Who Wasn't There
 
Benutzerbild von fraggle two
 
Registriert seit: Jul 2003
Ort: BÄRLIN
Beiträge: 1.156
... dann sag doch

if( bla >= 62){ ...

}

gruß
mike
__________________
Dot-Realities
Mike Broders
Berlin

ICQ:105925103

Dot-Realities v4.0 under construction!
fraggle two ist offline   Mit Zitat antworten
Alt 04-06-2004, 10:42   #11 (permalink)
All-rounder
 
Benutzerbild von thebiz
 
Registriert seit: Mar 2004
Ort: Bayerische Rhön
Beiträge: 2.507
aber es soll ja genau bei 62 grad anhalten.
wenn es also größer also 62 grad ist und die maus drüber ist,
hält es bei anderen werten auch an.
also lieber doch einen teiler von 62 als drehung nehmen.
thebiz ist offline   Mit Zitat antworten
Alt 04-06-2004, 10:57   #12 (permalink)
Neuer User
 
Registriert seit: May 2004
Beiträge: 60
das mit dem...
if( bla >= 63){ ...
futzt jetz schon ganz anständig
natürlich hab ich das ganze auch für die 45 gemacht

prob ist nun folgendes bei den 63 funtzts und bei 45 läufts einfach weiter oder bleibt beliebig stehen

onClipEvent (load)
{
speed = 3;

}
onClipEvent (enterFrame)
{
function dreh ()
{
if (this.hittest(_root.navi.blindoben._ymouse, true))
{
if (_root.navi.e2navi.hitTest(_root.navi.blindoben._x mouse, _root.navi.blindoben._ymouse) && _root.navi.e2navi._rotation == 63)
{
}
else
{
_root.navi.e2navi._rotation += speed;
}
}
else
{
if (_root.navi.e2navi.hitTest(_root.navi.blindoben._x mouse, _root.navi.blindoben._ymouse) && _root.navi.e2navi._rotation == 45)
{
}
else
{
_root.navi.e2navi._rotation -= speed;
}
}
}
}

woran kanns liegen das des script noch nicht will
__________________
danke fürs posten
vandyce ist offline   Mit Zitat antworten
Alt 04-06-2004, 11:11   #13 (permalink)
Neuer User
 
Registriert seit: May 2004
Beiträge: 60
heist natürlich >= 63 und >=45
__________________
danke fürs posten
vandyce ist offline   Mit Zitat antworten
Alt 04-06-2004, 13:32   #14 (permalink)
All-rounder
 
Benutzerbild von thebiz
 
Registriert seit: Mar 2004
Ort: Bayerische Rhön
Beiträge: 2.507
so das scheint zu passen.
hab es schon 10 mal geändert , damit
nicht gleich 3 onEnterFrame anweisungen gleichzeitig laufen.


//
//-----initialisierung----------------------------------------
//
_global.speed = 4;
_global.drehung = 1;
//
//-----funktionen---------------------------------------------
//
function drehen() {
if (_global.drehung == 1) {
_root.navi_mc.onEnterFrame = function() {
_root.navi_mc._rotation += _global.speed;
};
}
if (_global.drehung == -1) {
_root.navi_mc.onEnterFrame = function() {
_root.navi_mc._rotation -= _global.speed;
};
}
}
//
//-----hauptteil----------------------------------------------
//
_root.navi_mc.onEnterFrame = function() {
this._rotation += _global.speed;
};
_root.navi_mc.onRollOver = function() {
_root.onEnterFrame = function() {
if (_root.navi_mc.hitTest(_root._xmouse, _root._ymouse) && _root.navi_mc._rotation == 60) {
_global.speed = 0;
_global.drehung = 1;
delete _root.navi_mc.onEnterFrame;
delete this.onEnterFrame;
}
if (_root.navi_mc.hitTest(_root._xmouse, _root._ymouse) && _root.navi_mc._rotation == 120) {
_global.speed = 0;
_global.drehung = -1;
delete _root.navi_mc.onEnterFrame;
delete this.onEnterFrame;
}
};
};
_root.navi_mc.onRollOut = function() {
switch (_global.drehung) {
case 1 :
_global.speed = 4;
drehen();
case -1 :
_global.speed = -4;
drehen();
}
};

Geändert von thebiz (04-06-2004 um 15:15 Uhr)
thebiz ist offline   Mit Zitat antworten
Antwort

Lesezeichen

Themen-Optionen
Ansicht

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks sind an
Pingbacks sind an
Refbacks sind an



Alle Zeitangaben in WEZ +1. Es ist jetzt 04:14 Uhr.

Domains, Webhosting & Vserver von Host Europe
Unterstützt das Flashforum!
Adobe User Group


Copyright ©1999 – 2012 Marc Thiele