Visualizzazione dei risultati da 1 a 8 su 8

Discussione: oggetti e prototype

  1. #1

    oggetti e prototype

    salve
    vorrei sapere come fare ereditare ad un MC i prototype di una determinata classe
    cioe'
    faccio una classe da un oggetto con register class
    creo alcuni prototype per codesta
    poi ci attacco un MC su tale oggetto
    ma su questo MC non funzionano i prototype
    vabbe' forse ho fatto un casino
    piu' tardi metto il codice
    grazie

  2. #2
    Be', quando usi Object.registerClass la clip filmato che vai a registrare acquisisce la classe con le relative proprietà ed i relativi metodi. Se non ti funziona è perché sbagli qualcosa posso supporre.

  3. #3

    ok ma...

    ok. infatti mi prende tutto della classe. vorrei sapere : se ci attacco sopra un altro clip (intendo sopra alla clip filmato che ho messo nella classe) perche' non mi prende i prototype della classe? come faccio a darglieli?

  4. #4
    In che senso attacchi? Non sei stato molto chiaro, dovresti spiegare meglio qual'è la tua situazione, altrimenti non posso darti molto aiuto.

  5. #5
    Stage.scaleMode = "noScale"
    cube.prototype = new MovieClip();
    function cube() {
    }
    cube.prototype.setpos = function () {
    cubex.attachMovie("a","a",11);
    }
    cube.prototype.setposb = function () {
    trace(cubex.a._x);
    }
    Object.registerClass("cube", cube);
    attachMovie("cube","cubex",10);
    cubex.setpos();

    considera questa situazione. io credevo che attaccando
    il MC "a" su cubex anche "a" potesse usufruire dei
    prototype di cube.
    e invece no.
    ce' qualche comando che posso dare che mi faccia
    usare i prototype pure per "a"?
    spero di essere stato chiaro.
    grazie comunque

  6. #6
    A parte il fatto che
    codice:
    cube.prototype.setpos = function () { 
       cubex.attachMovie("a","a",11); 
    };
    non mi pare che abbia molto senso, dato che cubex è un'istanza della classe cube.

    In ogni caso, se "a" non è un'istanza della classe cube o non appartiene ad una sua sottoclasse non potrà mai ereditare i suoi metodi. Tu attacchi una clip filmato qualsiasi.

    In secondo luogo ti consiglio di utilizzare le direttive #initclip ed #endinitclip dentro le quali andrai a dichiarare la tua classe con tutte le sue proprietà e metodi.

  7. #7

    bene

    senti, continuo a farti domande nella mia ignoranza, siccome e poco che ho cominciato ad usare le classi etc
    perche' non ha senso attaccare il movieclip "a" sull'istanza di una classe?
    cioe' a me serve un qualcosa su cui attaccare "a" e che non sia la root.
    avrei dovuto creare un MC di appoggio
    perche' non usare la classe cube?
    grazz

  8. #8
    Semplicemente perché come hai scritto tu
    codice:
    cube.prototype.setpos = function () { 
       cubex.attachMovie("a","a",11); 
    };
    non è corretto, dato che comunque cubex è un'istanza della classe e non la devi utilizzare nella dichiarazione di un metodo.

    Al massimo puoi fare
    codice:
    this.attachMovie("a", "a", 11);
    oppure crei una clip in cui attacchi la clip. Ma in ogni caso questa clip non erediterà il __proto__ della classe da te costruita poiché non è registrata.

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.