| |||||||
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: Nov 2007
Beiträge: 56
| punkte erzeugen
hi, habe hier folgendes (verständnis-)problem. möchte im endeffekt die möglichkeit haben per knopfdruck einen punkt zu erzeugen (beliebige lage). ich habe leider keine ahnung wie man zur laufzeit überhaupt objekte erzeugt. nach längerer suche hier bin ich dabei auf attachmovie gestoßen. allerdings sind die probleme die in den threads diskutiert werden viel zu kompliziert. kann mir einer evtl die attachmovie funktion näher erläutern? bisher sieht das ganze so aus, wobei punkt eben der mc mit dem punkt ist und cr ein leerer mc. Code: function punkt(x, y){
this.x = x;
this.y = y;
this.clip = cr.attachMovie("punkt", "punkt", 1);
}
punkt1 = new punkt(120, 140); danke schonmal für die hilfe |
| | |
| | #2 (permalink) |
| ChronoGuard Registriert seit: Mar 2002 Ort: Saarbrücken
Beiträge: 2.649
| PHP-Code: Hätte nicht gedacht, dass das überhaupt funktionieren kann. PHP-Code:
__________________ we will stop enhancing the truth in 3, 2, ... Geändert von SpecOps-12 (05-03-2008 um 20:29 Uhr) |
| | |
| | #3 (permalink) | |
| muh Registriert seit: Apr 2002 Ort: Freiburg / Stuttgart
Beiträge: 4.338
| Zitat:
![]() Hier wäre der (AS1!) klassenbasierte (und dennoch dirty) Ansatz: PHP-Code:
__________________ »Carpe diem«, sagte der Graf. (Terry Pratchett: Ruhig Blut!) | |
| | |
| | #4 (permalink) |
| Neuer User Registriert seit: Nov 2007
Beiträge: 56
|
vielen dank für die flotte antwort. jetzt häng ich leider an ner anderen stelle, kurz hinter der ersten. ich kann jetzt also die einzelnen punkte erzeugen, aber kann ich diese denn auch einzeln ansprechen, also hat jeder einen eigenen namen? quader ist hier für punkt eingesprungen. quad erstellt einen quader. habe versucht über ne zählvariable an einzelne identitäten zu kommen, klappt leider nicht ganz. Code: i=0;
function quad(x, y){
var t:MovieClip = cr.attachMovie("quader", "quader"+i, cr.getNextHighestDepth());
t._x = x;
t._y = y;
i+=1;
}
quader.onPress = function() {
startDrag(this);
};
quader.onRelease = function() {
stopDrag();
};
g=0;
this.onEnterFrame = function(){
button.onPress = function() {
quad (0,g);
g+=45;
};
//trace(g);
}; gruß, swiged EDIT: wenn ich es mit cr.onPress versuche, dann kann ich die ganze quaderreihe bewegen Geändert von swiged (05-03-2008 um 23:40 Uhr) |
| | |
| | #6 (permalink) | |
| ChronoGuard Registriert seit: Mar 2002 Ort: Saarbrücken
Beiträge: 2.649
| Zitat:
Jetzt raff ich auch mal, was das mit den Prototypen immer gesollt hat, das hab ich ja immer einfach ignoriert, wenn's irgendwo aufgetaucht ist
__________________ we will stop enhancing the truth in 3, 2, ... | |
| | |
| | #8 (permalink) |
| Techniker Registriert seit: Sep 2003 Ort: 64807
Beiträge: 16.324
| Code: g = 0;
//
button.onPress = function() {
g += 45;
quad(30, g);
};
//
function quad(x, y) {
var i = _root.getNextHighestDepth();
var _mc = _root.attachMovie("quader", "quader"+i, i);
_mc._x = x;
_mc._y = y;
_mc.onPress = function() {
trace(this);
startDrag(this);
};
_mc.onRelease = function() {
stopDrag();
};
}
__________________ die ultimative antwort auf alle programmierfragen: der debugger mfg h.g.seib www.SeibsProgrammLaden.de Geändert von hgseib (06-03-2008 um 16:51 Uhr) |
| | |
| | #9 (permalink) |
| Neuer User Registriert seit: Nov 2007
Beiträge: 56
|
vielen dank, jetzt gehts. aber dann ist ja alles was ich falsch gemacht hab, dass i und nexthighestdepth nicht gleich waren Code: var t:MovieClip = cr.attachMovie("quader", "quader"+i, cr.getNextHighestDepth()); ![]() nun frage ich mich aber leider immer noch wie ich die einzelnen kisten ansprechen kann. die werte der aktuellen kiste kann ich mir ja holen(_mc.x _mc.alpha etc) aber wie komme ich an die einzelnen werte? gruß, swiged |
| | |
| | #11 (permalink) |
| Neuer User Registriert seit: Nov 2007
Beiträge: 56
|
leider nicht wirklich, habe nun mehrere versionen ausprobiert, das beste ergebnis wird erzielt mit PHP-Code: gruß, swiged |
| | |
| | #12 (permalink) |
| Achim Math.PI Registriert seit: Jul 2001 Ort: cool Colonia
Beiträge: 11.642
|
aaaaalso wenn du dein clip so esrstellst (ohne jeglichen anderen code) PHP-Code: denn "i" ist nirgdens deklariert wenn du deine isntanzen so erstellst: PHP-Code: ansprechen, da diese eine temporäre variable ist und jeden durchlauf überschrieben wird....
__________________ gruß bloba 2 x onkel² b_d Geändert von bloba (06-03-2008 um 18:30 Uhr) |
| | |
| | #13 (permalink) |
| Neuer User Registriert seit: Nov 2007
Beiträge: 56
|
ich glaube wir haben aneinander vorbeigeredet, aber jetzt hab ichs endlich hinbekommen. PHP-Code: |
| | |
| | #14 (permalink) |
| Techniker Registriert seit: Sep 2003 Ort: 64807
Beiträge: 16.324
|
wie auch immer, mit deinem onEnterFrame definierst du 30mal je sekunde dein button.onPress neu. lass das onEnterFrame weg! Code: this.onEnterFrame = function() {
button.onPress = function() {
quad(0, g);
g += 45;
};
trace(quader2._x);
}; entspricht _root["quader"+i]._x; // wenn quader2 auf _root liegt. ansonsten den richtigen pfad angeben. und du kannst z.b. deine mc's in einem array sammeln. z.b. so: Code: g = 0;
quader_array = new Array();
//
button.onPress = function() {
quader_array.push(quad(0, g));
g += 45;
//
trace(quader_array[quader_array.length-1]);
};
function quad(x, y) {
var i = _root.getNextHighestDepth();
var t = _root.attachMovie("quader", "quader"+i, i);
t._x = x;
t._y = y;
t.onPress = function() {
startDrag(this);
};
t.onRelease = function() {
stopDrag();
};
return t;
} cr.attachMovie habe das in meinem beispiel weggelassen, weil ich nicht weiss, woher du das cr hast.
__________________ die ultimative antwort auf alle programmierfragen: der debugger mfg h.g.seib www.SeibsProgrammLaden.de Geändert von hgseib (07-03-2008 um 02:20 Uhr) |
| | |
![]() |
| Lesezeichen |
| Themen-Optionen | |
| Ansicht | |
| |