Zurück   Flashforum > Flash > ActionScript > ActionScript 1

Antwort
 
LinkBack Themen-Optionen Ansicht
Alt 15-10-2006, 11:47   #1 (permalink)
ActionStripper
 
Benutzerbild von Mr.Twister
 
Registriert seit: Nov 2001
Ort: Oldenburg
Beiträge: 3.275
movieclip NUR auf raster draggen können ...?

hi,
wenn man mit drag&drop MCs arbeitet und diese an einem raster ausrichten möchte, ist es eine gängige methode, daß man den gezogenen movieclip direkt mit der maus zieht und er sich erst am raster ausrichtet, wenn er losgelassen wird.

ich möchte aber gerne einen movieclip auf einem raster draggen, wobei der movieclip sich ausschließlich auf dem raster bewegen kann.
der movieclip soll der maus zwar schon folgen, soll sich dabei aber grundsätzlich nur in rasterschritten bewegen.

hat da evtl. jemand einen tip für mich?

danke!
__________________
Design ist AUCH Geschmackssache.
Mr.Twister ist offline   Mit Zitat antworten
Alt 15-10-2006, 12:11   #2 (permalink)
Techniker
 
Benutzerbild von hgseib
 
Registriert seit: Sep 2003
Ort: 64807
Beiträge: 16.324
Code:
_mc.raster = 80;
_mc.onPress = function() {
	this.onMouseMove = function() {
		this._x = int(_root._xmouse/this.raster)*this.raster;
		this._y = int(_root._ymouse/this.raster)*this.raster;
	};
};
_mc.onRelease = function() {
	delete this.onMouseMove;
};
__________________
die ultimative antwort auf alle programmierfragen: der debugger
mfg h.g.seib www.SeibsProgrammLaden.de
hgseib ist offline   Mit Zitat antworten
Alt 15-10-2006, 12:18   #3 (permalink)
................
 
Benutzerbild von Der Frager
 
Registriert seit: Jun 2004
Beiträge: 15.890
...wobei man noch die Position der Maus beim Klicken mit berücksichtigen sollte:
PHP-Code:
var raster 20;
//
this.dein_mc.onPress = function() {
    
this.sX this._xmouse;
    
this.sY this._ymouse;
    
this.onMouseMove = function() {
        
this._x Math.round((_root._xmouse-this.sX)/raster)*raster;
        
this._y Math.round((_root._ymouse-this.sY)/raster)*raster;
    };
};
//
this.dein_mc.onRelease this.dein_mc.onReleaseOutside=function () {
    
delete this.onMouseMove;
}; 
Übrigens auch mal wieder kein AS 2.0 Thema.
__________________

ternärer Konditionaloperator

+++ Bitte keine Privat-Nachrichten bezüglich Flashfragen! +++
Der Frager ist offline   Mit Zitat antworten
Alt 15-10-2006, 12:20   #4 (permalink)
mod_rewrite
 
Benutzerbild von sonar
 
Registriert seit: Feb 2003
Ort: München
Beiträge: 15.621
Zitat:
Zitat von Der Frager Beitrag anzeigen
.Übrigens auch mal wieder kein AS 2.0 Thema.
Stümmt.
Aber manche Leute denken, weil sie AS 2 in den Veröffentlichungseinstellungen stehen haben, isses automatisch ein AS 2-Thema...
--> verschoben
__________________
RTFM
Wie man Fragen richtig stellt.

Achim Bindannmalweg

Money makes the world go round, fear makes it turn much faster.
(New Model Army)
sonar ist offline   Mit Zitat antworten
Alt 15-10-2006, 12:58   #5 (permalink)
Techniker
 
Benutzerbild von hgseib
 
Registriert seit: Sep 2003
Ort: 64807
Beiträge: 16.324
[OT]
var raster = 20;
und Der Frager denkt ganz schön kleinkariert ;-)

das thema ist doch schon 1000mal durchgekaut worden. fazit: früher war alles besser! da gab es die rubrik OOPs - das war eindeutig. AS1 <--> AS2 ist nicht wirklich zu trennen. wo schiebt ihr das ding hin, wenn ich das script in einen prototype ändere?

eine AS1/AS2 anfrage kann eine AS2/AS1 antwort erhalten. nur OOPs anfragen erhalten OOPs antworten.
__________________
die ultimative antwort auf alle programmierfragen: der debugger
mfg h.g.seib www.SeibsProgrammLaden.de

Geändert von hgseib (15-10-2006 um 13:06 Uhr)
hgseib ist offline   Mit Zitat antworten
Alt 15-10-2006, 13:06   #6 (permalink)
mod_rewrite
 
Benutzerbild von sonar
 
Registriert seit: Feb 2003
Ort: München
Beiträge: 15.621
Zitat:
Zitat von hgseib Beitrag anzeigen
wo schiebt ihr das ding hin, wenn ich das script in einen prototype ändere?
prototype --> eindeutig AS 1 natürlich...
__________________
RTFM
Wie man Fragen richtig stellt.

Achim Bindannmalweg

Money makes the world go round, fear makes it turn much faster.
(New Model Army)
sonar ist offline   Mit Zitat antworten
Alt 15-10-2006, 13:08   #7 (permalink)
Techniker
 
Benutzerbild von hgseib
 
Registriert seit: Sep 2003
Ort: 64807
Beiträge: 16.324
[OT]
und wenn ich schreibe:
_mc.raster:Number = 80;
(davon mal abgesehen, dass das erbärmlicher weisse nicht geht ;-)

ist es jetzt AS2 .. oder wann ist etwas 'eindeutig' AS2 ? ... solche diskussionen führen einfach zu nichts. macht die rubriken eindeutig und hört mit dem geschiebe auf ;-)
__________________
die ultimative antwort auf alle programmierfragen: der debugger
mfg h.g.seib www.SeibsProgrammLaden.de

Geändert von hgseib (15-10-2006 um 13:11 Uhr)
hgseib ist offline   Mit Zitat antworten
Alt 15-10-2006, 13:46   #8 (permalink)
ActionStripper
 
Benutzerbild von Mr.Twister
 
Registriert seit: Nov 2001
Ort: Oldenburg
Beiträge: 3.275
erstmal vielen dank für die lösungen!

nun noch kurz zum thema AS1 & AS2:
als ich den beitrag geschrieben habe, war ich mir sicher, daß sich eine gute lösung mit AS1 bauen lässt.
dennoch habe ich den beitrag absichtlich im AS2 bereich gepostet, weil ich damit quasi zeigen wollte, daß lösungsvorschläge auch klassenbasiert sein dürften.

die von euch gelieferten lösungen basieren auf AS1, wodurch dieser thread nun natürlich auch in den AS1 bereich gehört.
wenn mir aber nun jemand eine klasse empfohlen hätte, wäre es wieder ein AS2 thema gewesen.

oder sehe ich das falsch?
__________________
Design ist AUCH Geschmackssache.
Mr.Twister ist offline   Mit Zitat antworten
Alt 15-10-2006, 13:58   #9 (permalink)
class public{}
 
Benutzerbild von public
 
Registriert seit: Feb 2004
Ort: dessau
Beiträge: 1.406
wieso soll denn eine prototype lösung immer nur as1 sein....schaut eucch doch ma die as2 (flash eigene klasse) C:\Programme\Macromedia\Flash 8\de\First Run\Classes\mx\core\ext an....

auszug:
PHP-Code:
//****************************************************************************
//Copyright (C) 2003 Macromedia, Inc. All Rights Reserved.
//The following is Sample Code and is subject to all restrictions on
//such code as contained in the End User License Agreement accompanying
//this product.
//****************************************************************************
import mx.core.UIComponent;

// extensions to TextField so they look more like UIComponents
class mx.core.ext.UIComponentExtensions
{
    static var 
bExtended false;

    static function 
Extensions():Boolean
    
{
        if (
bExtended == true)
            return 
true;

        
bExtended true;

        
TextField.prototype.setFocus = function()
        {
            
Selection.setFocus(this);
        }

        
TextField.prototype.onSetFocus = function(oldFocus)
        {
            if (
this.tabEnabled != false)
            {
                if (
this.getFocusManager().bDrawFocus)
                    
this.drawFocus(true);
            }
        }

        
TextField.prototype.onKillFocus = function(oldFocus)
        {
            if (
this.tabEnabled != false)
            {
                
this.drawFocus(false);
            }
        }

        
TextField.prototype.drawFocus UIComponent.prototype.drawFocus;
        
TextField.prototype.getFocusManager UIComponent.prototype.getFocusManager;

        
mx.managers.OverlappedWindows.enableOverlappedWindows();
        
mx.styles.CSSSetStyle.enableRunTimeCSS();    // this doesn't need a dependency
        
mx.managers.FocusManager.enableFocusManagement();

    }

     static var 
UIComponentExtended Extensions();
       static var 
UIComponentDependency mx.core.UIComponent;
       static var 
FocusManagerDependency mx.managers.FocusManager;
       static var 
OverlappedWindowsDependency mx.managers.OverlappedWindows;

public 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 01:29 Uhr.

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


Copyright ©1999 – 2012 Marc Thiele