Visualizzazione dei risultati da 1 a 4 su 4

Discussione: problemi con setMask

  1. #1

    problemi con setMask

    In questi giorni ho aiutato gli altri, adesso sono io ad avere bisogno di Voi e spero sarete gentili e disponibili come lo sono stata io

    Il problema è questo:
    voglio far visualizzare un'immagine attraverso una maschera dinamica.
    quindi ho creato un clip vuoto con nome istanza "mask" sullo stage, all'interno del quale ho creato una griglia di tanti cuori animati che dovrebbero fare da maschera tutti insieme.
    L'immagine ha come nome istanza "img_mc"
    sulla time line ho messo il seguente codice:
    codice:
    //Funzione per attaccare un clip
    function attaccaMc(nomeConcatMc, nomeMc, livello, x, y) {
    	this.attachMovie(nomeConcatMc, nomeMc, livello);
    	with (this[nomeMc]) {
    		_x = x;
    		_y = y;
    	}
    }
    //Funzione che crea una griglia quadrata e memorizza le coordinate x, y dei punti in un array bidimensionale arr(x,y)
    function create_grid(width_ceil, arr) {
    	for (i=0; i<7; i++) {
    		for (j=0; j<7; j++) {
    			var mc_x = 20+width_ceil*j;
    			var mc_y = 20+width_ceil*i;
    			var point = new Array(mc_x, mc_y);
    			arr.push(point);
    		}
    	}
    }
    img_mc.setMask(_root.mask);
    all'interno del clip "mask" ho inserito nella timeline questo codice:
    codice:
    stop();
    posizioneCuore = new Array();
    var contatore = 0;
    //Creo la griglia per posizionare le scatole
    _root.create_grid(40, posizioneCuore);
    nro_totale_cuori = posizioneCuore.length;
    //Funzione che attacca e posiziona le scatole (in base alla griglia)
    _root.onEnterFrame = function() {
    	if (contatore<nro_totale_cuori) {
    		_root.attaccaMc("cuore", "cuore"+contatore, contatore, _x, _y);
    		var mc = _root["cuore"+contatore];
    		mc._x = posizioneCuore[contatore][0];
    		mc._y = posizioneCuore[contatore][1];
    		contatore++;
    	} else {
    		delete _root.onEnterFrame;
    	}
    };
    credo che il problema dipenda dai livelli, poichè faccio l'attach, ma non so proprio come risolverlo.
    L'immagine non la visualizza ovviamente, ma invece che farmi vedere i cuori come maschera, vedo i cuori rossi.

    Potete aiutarmi?

  2. #2
    Utente di HTML.it L'avatar di negatyve
    Registrato dal
    Feb 2001
    Messaggi
    9,479
    Cancella lo script dalla root, e scrivi dentro "mask":

    codice:
    function attaccaMc(nomeConcatMc, nomeMc, livello, x, y) {
    	this.attachMovie(nomeConcatMc, nomeMc, livello);
    	with (this[nomeMc]) {
    		_x = x;
    		_y = y;
    	}
    }
    //Funzione che crea una griglia quadrata e memorizza le coordinate x, y dei punti in un array bidimensionale arr(x,y)
    function create_grid(width_ceil, arr) {
    	for (i=0; i<7; i++) {
    		for (j=0; j<7; j++) {
    			var mc_x = 20+width_ceil*j;
    			var mc_y = 20+width_ceil*i;
    			var point = new Array(mc_x, mc_y);
    			arr.push(point);
    		}
    	}
    }
    
    stop();
    _root.img_mc.setMask(this);
    posizioneCuore = new Array();
    var contatore = 0;
    //Creo la griglia per posizionare le scatole
    create_grid(40, posizioneCuore);
    nro_totale_cuori = posizioneCuore.length;
    //Funzione che attacca e posiziona le scatole (in base alla griglia)
    //Funzione per attaccare un clip
    this.onEnterFrame = function() {
    	if (contatore<nro_totale_cuori) {
    		this.attaccaMc("cuore", "cuore"+contatore, contatore, _x, _y);
    		var mc = this["cuore"+contatore];
    		mc._x = posizioneCuore[contatore][0];
    		mc._y = posizioneCuore[contatore][1];
    		contatore++;
    	} else {
    		delete this.onEnterFrame;
    	}
    };
    Era un problema di percorsi (i movieclip venivano attaccati sulla root, non nel movieclip maschera)

  3. #3
    sapevo che era una cavolata
    grazie, grazie, grazie

    Lorenza

  4. #4
    Utente di HTML.it L'avatar di negatyve
    Registrato dal
    Feb 2001
    Messaggi
    9,479
    Di niente, ciao..

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.