Visualizzazione dei risultati da 1 a 2 su 2
  1. #1
    Utente di HTML.it
    Registrato dal
    Aug 2006
    Messaggi
    143

    Traccia contorno della GIF - non va!

    Ragazzi ho prelevato da http://www.contidavide.it/article.as...etail=69&page= un action in flash per tracciare il contorno delle immagini.
    Il problema è, che nonostante importi nello stage di Flash Mx una gif a sfondo trasparente, l'effetto disegna il contorno del riquadro che contiene l'immagine. Quindi esce fuori la traccia di un rettangolo. Ho cercato di capire se questo contorno appartenesse allo sfondo di flash o all'area di selezione della gif, e ho constatato che si tratta dell'ultima.
    Io dovrei far si che flash mi tracciase l'immagine e non tutta l'area che ha attorno.

    Puo essere che questo effetto sia applicabile solo per le immagini disegnate su flash stesso???

  2. #2
    Utente di HTML.it
    Registrato dal
    Aug 2006
    Messaggi
    143
    Questo è il codice che utilizzo:

    MovieClip.prototype.traccia_contorno = function(alpha, spessore, colore, qualita) {
    this._alpha = alpha;
    // ----------------------------------------------------
    this.effetto = _root.createEmptyMovieClip("contorno" + this._name, 1000 + _root.stage++);
    this.effetto.lineStyle(spessore, colore, 100);
    // ----------------------------------------------------
    var cos_mini = Math.cos(0.03);
    var sin_mini = Math.sin(0.03);
    // ----------------------------------------------------
    this.test_X = 2000;
    this.test_Y = 2000;
    // ----------------------------------------------------
    while (!this.hitTest(this._x + this.test_X, this._y + this.test_Y, true)) {
    this.test_X--;
    this.test_y--;
    }
    // ----------------------------------------------------
    this.depart_x0 = this._x + this.test_X;
    this.depart_y0 = this._y + this.test_y;
    this.x0 = this.depart_x0;
    this.y0 = this.depart_y0;
    this.x1 = this.x0 + qualita;
    this.y1 = this.y0 + qualita;
    // ----------------------------------------------------
    this.onEnterFrame = function() {
    var ascissa_X = this.x0 - this.x1;
    var ascissa_Y = this.y0 - this.y1;
    // ----------------------------------------------------
    memoria = ascissa_Y;
    ascissa_Y = -ascissa_X;
    ascissa_X = memoria;
    while (!this.hitTest(this.x0 + ascissa_X, this.y0 + ascissa_Y, true)) {
    memoria = ascissa_X * cos_mini - ascissa_Y * sin_mini;
    ascissa_Y = ascissa_Y * cos_mini + ascissa_X * sin_mini;
    ascissa_X = memoria;
    }
    // ----------------------------------------------------
    this.x1 = this.x0;
    this.y1 = this.y0;
    this.effetto.moveTo(this.x0, this.y0);
    this.x0 += ascissa_X;
    this.y0 += ascissa_Y;
    this.effetto.lineTo(this.x0, this.y0);
    // ----------------------------------------------------
    if ((Math.abs(this.depart_x0 - this.x0) + (Math.abs(this.depart_y0 - this.y0)) < qualita)) {
    delete this.onEnterFrame;
    this.onEnterFrame = function() {
    this._alpha += (100 - this._alpha) / 20;
    if (this._alpha > 99) {
    this.swapDepths(100 + _root.stage++);
    delete this.onEnterFrame;
    }
    };
    }
    };
    };
    // Proprietà grafiche della traccia (alpha, spessore, colore, qualita)
    _root.nome_istanza_immagine.traccia_contorno(0, 1, 0xbbaa99, 5);
    _root.img.traccia_contorno(0, 1, 0xbbaa99, 5);
    // ----------------------------------------------------

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.