| |||||||
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: Sep 2004
Beiträge: 888
|
hi also ich habe ein kleines problem. ich habe ein rahmen in dem ich ein mc bewege aber der soll nicht aus dem rahmen gezugen werden können. also wenn der mc größer ist als der rahmen dann soll zB die obere linke ecke vom mc beim oberen linken ecke vom rahmen stoppen. ich habe mir schon hitTest angeguckt aber ich komme da mir nicht so ganz klar also ich habe das hier mal aber hält dann immer an auch wenn der mc größer ist Code: if(this.gCurrentTier_mc.hitTest(this.gCurrentTier_mc._width/2,pw,true)) {
this.gCurrentTier_mc.stopDrag();
}
if(this.gCurrentTier_mc.hitTest(this.gCurrentTier_mc._height/2,ph,true)) {
this.gCurrentTier_mc.stopDrag();
} wer weis denn dazu was ? |
| | |
| | #2 (permalink) |
| Neuer User Registriert seit: Sep 2004 Ort: Spain/Ibiza
Beiträge: 942
|
wo hast den das drin ? in ein onEnterFRame ? wie auch immer startDrag function startDrag(target:Object, [lock:Boolean, left:Number, top:Number, right:Number, bottom:Number]) : Void
__________________ Languages : (in the order of knowledge/preference) Read: Flash AS, PHP, JS, Html, DHtml, Basic, C++, DOS, 3DMaxScript, English, Deutsch, Magyar, XML, Pascal, VB, Spanish Write: Flash AS, Basic, PHP, JS, DHtml, Html, ..., C++, ...., ..., English, ..., ..., ..., ...., Deutsch, ..., Magyar wen du mein deutsch nicht magst whele eine andere sparache von den obrigen ;) |
| | |
| | #3 (permalink) |
| Mac User Registriert seit: Jul 2006 Ort: Berlin
Beiträge: 167
|
Es geht auch auf die etwas andere Art, wobei diese Methode für Dein Beispiel nicht das effektivste ist, sondern das von xeef eher. Koordinaten-Check Variante (Registrierungspunkt der beiden MC's sollte einfachheitshalber oben links sein). links: vagina_mc._x rechts: vagina_mc._width; oben: vagina_mc._y; unten: vagina_mc._height; Abfrage erfolgt einfach mit if(penis_mc._x<vagina._x || penis_mc._y < vagina_mc. || penis_mc._x + penis_mc._width > vagina_mc._width || penis._mc._y+penis_mc._height >vagina_mc._height){ penis_mc.stopDrag(); usw. blaa blaa }
__________________ Schöne Grüße, best regards prizma Geändert von prizma (29-07-2006 um 20:43 Uhr) |
| | |
| | #5 (permalink) |
| Neuer User Registriert seit: Sep 2004
Beiträge: 888
|
alos wenn ich es so mache hat es keinerlei auswirkung leider =/ oder habe ich das was falsch gemacht ? Code: this.gCurrentTier_mc.startDrag(false, this._parent.maskdummy_mc._x,this._parent.maskdummy_mc._y,this._parent.maskdummy_mc._x+this._parent.maskdummy_mc._width-this._width,this._parent.maskdummy_mc._y+this._parent.maskdummy_mc._height-this._height); |
| | |
| | #6 (permalink) |
| Neuer User Registriert seit: Sep 2004
Beiträge: 888
|
also wenn ich das mir dem this.gCurrentTier_mc.startDrag(false, this.getWindowLeft(),this.getWindowTop(),this.getW indowRight(),this.getWindowBottom()); mache dann geht es aber nicht so ganz also wenn der mc größer als der rahmen wird dann kann ich es nicht mehr verschieben. obwohl der noch nciht an seine kannten angekommen ist. wie muss ich es denn ändern damit der es richtig macht? |
| | |
| | #7 (permalink) |
| Neuer User Registriert seit: Sep 2004 Ort: Spain/Ibiza
Beiträge: 942
|
Hmmmm das ist was mich stendig verwirt ! versuch mall : (regPoint is topLeft !) this.gCurrentTier_mc.startDrag(false, 0,0,_parent.width-this._width,_parent._height-this._height)
__________________ Languages : (in the order of knowledge/preference) Read: Flash AS, PHP, JS, Html, DHtml, Basic, C++, DOS, 3DMaxScript, English, Deutsch, Magyar, XML, Pascal, VB, Spanish Write: Flash AS, Basic, PHP, JS, DHtml, Html, ..., C++, ...., ..., English, ..., ..., ..., ...., Deutsch, ..., Magyar wen du mein deutsch nicht magst whele eine andere sparache von den obrigen ;) |
| | |
| | #8 (permalink) |
| Neuer User Registriert seit: Sep 2004
Beiträge: 888
|
also der code müsste bei mir dann ca so aussehen aber dann wenn man es verschiebt dann stoppt immer aus ürgent einem grund und wenn der MC zu ende ist macht der trotzdem weiter. ich habe es so umändern müssen da der nummpunkt in der mitte des mc ist. this.gCurrentTier_mc.startDrag(false, (this.gCurrentTier_mc._width/2)-(pw/2),(this.gCurrentTier_mc._height/2)-(ph/2),-(this.gCurrentTier_mc._width/2)+(pw/2),-(this.gCurrentTier_mc._height/2)+(ph/2)) |
| | |
| | #9 (permalink) |
| Neuer User Registriert seit: Sep 2004
Beiträge: 888
|
also ich lade mal eine fla datei hoch mit einem beispiel. die fla ist eine mx2004 version. also wenn ich es zb nach unten verschieben will dann müsste der dann auch bei der unterenlinke ecke oder unterenrechten ecke aufhören. ich hoffe man versteht es was ich meine =/ |
| | |
| | #10 (permalink) | ||
| Neuer User Registriert seit: Sep 2004 Ort: Spain/Ibiza
Beiträge: 942
| jetzt bin ich aber verwirt !!! Zitat:
Zitat:
wasen nun ? das ding IST grosser als der rahmen ! (dein FLA)
__________________ Languages : (in the order of knowledge/preference) Read: Flash AS, PHP, JS, Html, DHtml, Basic, C++, DOS, 3DMaxScript, English, Deutsch, Magyar, XML, Pascal, VB, Spanish Write: Flash AS, Basic, PHP, JS, DHtml, Html, ..., C++, ...., ..., English, ..., ..., ..., ...., Deutsch, ..., Magyar wen du mein deutsch nicht magst whele eine andere sparache von den obrigen ;) | ||
| | |
| | #11 (permalink) |
| Neuer User Registriert seit: Sep 2004
Beiträge: 888
|
also ich habe lade mal was hoch was so ansatzweise geht wie ich es haben will es ist aber schlecht da es auch hängt. also sollte es functionieren aber es hängt ja und es gibt bestimmt was besseres also das was ich grade gemacht habe. |
| | |
| | #12 (permalink) |
| brand new user Registriert seit: May 2002 Ort: Laimbach 6 1/2
Beiträge: 16.884
|
Ich versteh nur Bahnhof, kannst nicht mal genauer erklären was Du machen möchtest .
__________________ Bitte keine Fragen, zu Flash per PM. Dazu ist das Forum da. Danke MFG_RustyCake! "Wer tanzen will, muß erst gehen lernen" |
| | |
| | #13 (permalink) |
| Neuer User Registriert seit: Sep 2004
Beiträge: 888
|
also ich habe ein rahmen und ein mc sagen wir mal da ist ein bild drinne das aber größer ist als der rahmen. also ragen ein paar stellen von dem bild links rechts oben und unten aus dem rahmen heraus. (die positionen der nullpunkte vom rahmens und vom mc ist in der mitte.) ich will aber das das bild nicht aus dem rahmen gezogen werden kann. (das keine leeren flächen entstehen). also kann man das bild im bereich vom rahmen bewegen. (so ca wie die letzte fla, wobei die nicht gut gelöst ist.) ich hoffe ich habe es jetzt besser erklärt. =) |
| | |
| | #14 (permalink) |
| Neuer User Registriert seit: Sep 2004
Beiträge: 888
|
ich wollte es nachher bei dem zoomifly addon einbinden. aber da der nullpunkt immer von der maske zentiert ausgerichtet wird geht der ganze script nicht so wie im diesem tollen beispiel was ich da hochgeladen hatte. ich hatte mir überlegt wenn ich zB an jeder seite ein balken hin setze der dann beim startDrag kontroliert wenn der hitTest = true wieder gibt das der dann stopt aber das geht bei mir gar nicht. also das ist der script dazu Code: _root.emp.attachMovie("mc", "mc", 2);
//ausgabe
_root.emp.mc.onPress = function() {
this.startDrag();
//pointer();
pointersec();
};
_root.emp.mc.onRelease = _root.emp.mc.onReleaseOutside=function () {
this.stopDrag();
};
staerke = 10;
//TOP
_root.emp.mc.createEmptyMovieClip("rahmenT", 20);
_root.emp.mc.rahmenT.lineStyle(staerke, 0xFF0000, 100);
_root.emp.mc.rahmenT.moveTo(-(_root.emp.mc._width/2), -(_root.emp.mc._height/2));
_root.emp.mc.rahmenT.lineTo(_root.emp.mc._width/2, -(_root.emp.mc._height/2));
//BOTTOM
_root.emp.mc.createEmptyMovieClip("rahmenB", 40);
_root.emp.mc.rahmenB.lineStyle(staerke, 0xFF0000, 100);
_root.emp.mc.rahmenB.moveTo(-(_root.emp.mc._width/2), (_root.emp.mc._height/2));
_root.emp.mc.rahmenB.lineTo(_root.emp.mc._width/2, (_root.emp.mc._height/2));
//LEFT
_root.emp.mc.createEmptyMovieClip("rahmenL", 10);
_root.emp.mc.rahmenL.lineStyle(staerke, 0xFF0000, 100);
_root.emp.mc.rahmenL.moveTo(-(_root.emp.mc._width/2-staerke), (_root.emp.mc._height/2));
_root.emp.mc.rahmenL.lineTo(-(_root.emp.mc._width/2-staerke), -_root.emp.mc._height/2);
//RIGHT
_root.emp.mc.createEmptyMovieClip("rahmenR", 30);
_root.emp.mc.rahmenR.lineStyle(staerke, 0xFF0000, 100);
_root.emp.mc.rahmenR.moveTo((_root.emp.mc._width/2-staerke), -(_root.emp.mc._height/2));
_root.emp.mc.rahmenR.lineTo((_root.emp.mc._width/2-staerke), _root.emp.mc._height/2);
//
//function
function pointersec(){
if(_root.emp.mc.hitTest(_root.maske._x,_root.maske._y)){
trace("hit L");
_root.emp.mc._x = (_root.emp.mc._width/2)-(_root.maske._width/2);
}
if(_root.emp.mc.hitTest(_root.maske._x,_root.maske._y)){
trace("hit T");
_root.emp.mc._y = (_root.emp.mc._height/2)-(_root.maske._height/2);
}
if(_root.emp.mc.hitTest(_root.maske._x,_root.maske._y)){
trace("hit R");
_root.emp.mc._x = -(_root.emp.mc._width/2)+(_root.maske._width/2);
}
if(_root.emp.mc.hitTest(_root.maske._x,_root.maske._y)){
trace("hit B");
_root.emp.mc._y = -(_root.emp.mc._height/2)+(_root.maske._height/2);
}
/*
if(_root.emp.mc.hitTest(rahmenL._x,rahmenL._y)){
trace("hit L");
_root.emp.mc._x = (_root.emp.mc._width/2)-(_root.maske._width/2);
}
if(_root.emp.mc.hitTest(rahmenT._x,rahmenT._y)){
trace("hit T");
_root.emp.mc._y = (_root.emp.mc._height/2)-(_root.maske._height/2);
}
if(_root.emp.mc.hitTest(rahmenR._x,rahmenR._y)){
trace("hit R");
_root.emp.mc._x = -(_root.emp.mc._width/2)+(_root.maske._width/2);
}
if(_root.emp.mc.hitTest(rahmenB._x,rahmenB._y)){
trace("hit B");
_root.emp.mc._y = -(_root.emp.mc._height/2)+(_root.maske._height/2);
}
*/
}
//
function pointer() {
onEnterFrame = function () {
if (_root.emp.mc._x>(_root.emp.mc._width/2)-(_root.maske._width/2)) {
_root.emp.mc._x = (_root.emp.mc._width/2)-(_root.maske._width/2)-3;
//_root.emp.mc.stopDrag();
//delete this.onEnterFrame;
}
if (_root.emp.mc._y>(_root.emp.mc._height/2)-(_root.maske._height/2)) {
_root.emp.mc._y = (_root.emp.mc._height/2)-(_root.maske._height/2)-3;
//_root.emp.mc.stopDrag();
//delete this.onEnterFrame;
}
if (_root.emp.mc._x<-(_root.emp.mc._width/2)+(_root.maske._width/2)) {
_root.emp.mc._x = -(_root.emp.mc._width/2)+(_root.maske._width/2)+3;
//_root.emp.mc.stopDrag();
//delete this.onEnterFrame;
}
if (_root.emp.mc._y<-(_root.emp.mc._height/2)+(_root.maske._height/2)) {
_root.emp.mc._y = -(_root.emp.mc._height/2)+(_root.maske._height/2)+3;
//_root.emp.mc.stopDrag();
//delete this.onEnterFrame;
}
};
} |
| | |
| | #15 (permalink) |
| brand new user Registriert seit: May 2002 Ort: Laimbach 6 1/2
Beiträge: 16.884
|
Ich hab da mal was gebaut, des bezieht sich zwar auf die Bühne aber vielleichzt hilfts ja!
__________________ Bitte keine Fragen, zu Flash per PM. Dazu ist das Forum da. Danke MFG_RustyCake! "Wer tanzen will, muß erst gehen lernen" |
| | |
![]() |
| Lesezeichen |
| Themen-Optionen | |
| Ansicht | |
| |