Zurück   Flashforum > Flash > Flash Einsteiger

Antwort
 
LinkBack Themen-Optionen Ansicht
Alt 11-08-2009, 16:05   #16 (permalink)
Neuer User
 
Registriert seit: Feb 2009
Beiträge: 12
Hallo Nullidee

sieh mal: www.christian-mai.com

Habe die Galerie da eingebaut, die Spiegelung war mir doch zuviel, habe das wieder rausgenommen. Sieht prima aus, nur die Geschwindigkeit habe ich noch nicht im Griff, die Bilder faden zu schnell, hast du da noch eine Idee?
und können die Bilder beim ersten rein laden erst erscheinen wenn die auch geladen sind, die springen hin und her wie verrückt, vielleicht mit Balken vorab. Würd mich freuen wenn du da eine Idee hast.

Gruß grafo

Ach P.S hier das Script das ich benutze:

import flash.display.*;

function loadBitmapSmoothed(url:String, target:MovieClip, h) {
var bmc:MovieClip = target.createEmptyMovieClip("bmc", target.getNextHighestDepth());
var listener:Object = new Object();
listener.tmc = target;
listener.onLoadInit = function(mc:MovieClip) {
mc._visible = false;

if(mc._height>mc._width){
mc.h_faq = mc._height/h;
mc.w_faq = 100/mc.h_faq;
}
if(mc._height<mc._width){
mc.h_faq = mc._height/h;
mc.w_faq = 100/mc.h_faq;
}

var bitmap:BitmapData = new BitmapData(mc._width, mc._height, true);
this.tmc.attachBitmap(bitmap, this.tmc.getNextHighestDepth(), "auto", true);
bitmap.draw(mc);
mc._alpha = 100;
this.tmc._height = Math.round(h);
this.tmc._xscale = Math.round(mc.w_faq);
this.tmc.onRelease = function(){
}
init();
};
var loader:MovieClipLoader = new MovieClipLoader();
loader.addListener(listener);
loader.loadClip(url, bmc);
}
/*Daten in der init.txt - rausgenommen
&xpos=10
&ypos=100
&hoehe=500
&breite=600
&imageCount=10
&imageWidth=100
*/
var xpos = 0;
var ypos = 0;
var hoehe = 400;
var breite = 740;
var imageCount = 54;
var imageWidth = 100;
var abstand = 4;
var speed = 05;
var ruhe_bereich = 50;
var holder = this.createEmptyMovieClip("holder", this.getNextHighestDepth());
holder._x = xpos;
holder._y = ypos;
for(var i=0; i<imageCount; i++)
{
var clip = holder.createEmptyMovieClip("clip" + i, holder.getNextHighestDepth());
clip.ID = i;
// loadBitmapSmoothed("data/image" + (random(5)+1) + ".jpg", clip, hoehe);//nur mal als random
loadBitmapSmoothed("dataad/image" + (i+1) + ".jpg", clip, hoehe);
}
holder.dx = 0;
holder.onEnterFrame = function(){
var l1 = -_root._xmouse*(this._width-Stage.width)/Stage.width;
this.dx = (this.dx + (l1 - this._x)) / speed;
this._x = this._x + this.dx;
this._x = Math.round(this._x);
if(this._x>=0) this._x = 0;
if(this._x<-(this._width-Stage.width)) this._x = -(this._width-Stage.width);
updateAfterEvent();
}
function init(){
for(var n=1; n<imageCount; n++){
_root.holder["clip"+n]._x = _root.holder["clip" + (n-1)]._x + _root.holder["clip" + (n-1)]._width + abstand;
}
}
grafo ist offline   Mit Zitat antworten
Alt 11-08-2009, 16:23   #17 (permalink)
Nix Wisser
 
Benutzerbild von nullidee
 
Registriert seit: May 2003
Ort: Würzburg, Kleinstadt
Beiträge: 3.510
yo, die zicken ganz schön rum

wegen der Bewegung: tausch das holder.onEnterFrame mal gegen folgendes aus
PHP-Code:
holder.onEnterFrame = function(){
    if(
_xmouse<(Stage.width/2)-ruhe_bereich){
        
this._x this._x + (Stage.width/_xmouse) * speed;
        
this._x Math.round(this._x);
    }
    if(
_xmouse>(Stage.width/2)+ruhe_bereich){
        
this._x this._x + (Stage.width/_xmouse) * speed;
        
this._x Math.round(this._x);
    }
    if(
this._x>=0this._x 0;
    if(
this._x<-(this._width-Stage.width)) this._x = -(this._width-Stage.width);
    
updateAfterEvent();

vorher noch die var ruhe_bereich deklarieren
var ruhe_bereich = 50;//ergibt in der Mitte 100 pixel ohne Bewegung

das rumzicken der Bilder ist ja deshalb weil die Function init von jedem Bild aufgerufen wird.
Müsste man einen Zähler machen der bei Gleichheit erst die init startet.
__________________
nullidee

Abakus GT 10² Kugeln - 80"Leinwand - CARAN D´ACHE SUPRACOLOR®
nullidee ist offline   Mit Zitat antworten
Alt 11-08-2009, 19:43   #18 (permalink)
Neuer User
 
Registriert seit: Feb 2009
Beiträge: 12
Smile Zicken

Die Bewegung passt, die Schnelligkeit auch, jetzt reißen die Bilder in der Bewegung nur noch auf, mal sehen werd mal ein Mouseover basteln damit ich die Bilder auch mit click anfassen kann um die schneller von links nach rechts zu bewegen. Oder doch ne Anfasserleiste? Mag das eigentlich nicht aber die davor sitzen brauchen doch oft ne Anleitung.
Das mit der init verstehe ich so gar nicht. Ey, aber danke. Hast mir sehr geholfen.
grafo ist offline   Mit Zitat antworten
Alt 25-08-2009, 19:33   #19 (permalink)
Neuer User
 
Registriert seit: Apr 2004
Beiträge: 5
Hey nullidee,

vielen Dank für Deine Laufband-Vorlage.

Kannst Du mir hier evtl. einen Tipp geben, wie man daraus ein Endlos-Laufband macht? Auch das Einlesen über XML wäre hier noch ein interessantes Thema...
Ich habe mittlerweile einige Beiträge gelesen und bisher noch kein XML-basiertes Endloslaufband mit dynamischer Bilderbreite bzw. gleichen Abständen trotz unterschiedlicher Bildbreite gesehen.

Hier http://www.flashforum.de/forum/flash...p-galerie.html wird ja an einer ähnlichen Lösung gebastelt, Du scheinst aber der Einzige zu sein, der prinzipiell weiß, wie man die einzelnen Komponenten zusammenbringt!?

LG
brain.inc

Geändert von brain.inc (25-08-2009 um 19:36 Uhr)
brain.inc ist offline   Mit Zitat antworten
Alt 25-08-2009, 21:24   #20 (permalink)
Nix Wisser
 
Benutzerbild von nullidee
 
Registriert seit: May 2003
Ort: Würzburg, Kleinstadt
Beiträge: 3.510
ich? nö, ich bin völlig ahnungslos....

mal gucken wenn ich Zeit habe mache ich das mal, bzw. mal meine alten
Dateien durchgucken da habe ich so einiges rumliegen.
__________________
nullidee

Abakus GT 10² Kugeln - 80"Leinwand - CARAN D´ACHE SUPRACOLOR®
nullidee ist offline   Mit Zitat antworten
Alt 26-08-2009, 18:09   #21 (permalink)
Neuer User
 
Registriert seit: Apr 2004
Beiträge: 5
Das wäre klasse! Ich wünschte, ich hätte auch so wenig Ahnung wie Du

Geändert von brain.inc (26-08-2009 um 18:10 Uhr)
brain.inc ist offline   Mit Zitat antworten
Alt 26-08-2009, 19:21   #22 (permalink)
Neuer User
 
Registriert seit: Mar 2009
Beiträge: 38
Endloslaufband

Hey zusammen,
finde die bildergalerien oder laufbänder auch klasse!! ich arbeite aber mit as3 und kenne mich mit as2 nicht aus. Könnte mir vielleicht jemand die grundsätzliche idee von dem enloslaufband erklären?? also dass die bilder immer weiter laufen und nie stehen bleiben??

Viele Grüße
Manuel
Boost ist offline   Mit Zitat antworten
Alt 26-08-2009, 19:46   #23 (permalink)
Neuer User
 
Registriert seit: Apr 2004
Beiträge: 5
Hey Boost,

ich bin aus programmiertechnischer Sicht sicher nicht am besten geeignet, hier aber die prinzipielle Idee dahinter:

"Endlos" bedeutet in diesem Fall, dass das Laufband nach dem ersten Durchlauf des letzten geladenen Elementes nicht stehen bleibt sondern im Anschluss sofort wieder die ganze Schleife von vorne anhängt wird.
So entsteht (je nach technischer Fähigkeit ) trotz einer begrenzten Anzahl an Elementen eine scheinbar "endlose" Schleife in der Abfolge.

nullidee kann uns vielleicht zeigen, wie man sowas auch wirklich umsetzt

LG
brain.inc
brain.inc ist offline   Mit Zitat antworten
Alt 26-08-2009, 20:37   #24 (permalink)
Neuer User
 
Registriert seit: Mar 2009
Beiträge: 38
hey
danke schon mal. wenn irgendwer noch die ideen zum umsetzen schreiben könnte, wäre das super.
lg
manuel
Boost ist offline   Mit Zitat antworten
Alt 02-03-2010, 16:45   #25 (permalink)
Neuer User
 
Registriert seit: May 2002
Beiträge: 2
zwei Fragen

Hi zusammen,
vielen Dank für das Script!

Habe zwei Probleme, zum einen funktioniert das SWF nicht mehr, wenn ich ich es als externes File mit loadmovie einlade, zum anderen würde ich gerne den imageCount Wert aus einer externen Textdatei einlesen.
Habe mich dabei an das LoadVars Tutorial hier aus dem Forum gehalten. Der Wert wird auch richtig eingelesen, jedoch nicht in der Variable "imageCount" gespeichert.
Könnt ihr mir helfen?

Hier mein Code:

PHP-Code:
import flash.display.*;


/// variables
var imageCount:Number 19;

function 
geladen(erfolgreich) {
        if(
erfolgreich) {
             
trace("empfangene Variable: "+this.imageCount);
             var 
imageCount Number(this.imageCount);

        }
        else {
                
trace("Fehler beim Laden");
        }
}

lv = new LoadVars();//Instanz erstellen
lv.onLoad geladen;//Callback setzen
lv.load("info.txt",lv,"POST");//und den Request starten  

trace(imageCount);




function 
loadBitmapSmoothed(url:Stringtarget:MovieCliph) {
    var 
bmc:MovieClip target.createEmptyMovieClip("bmc"target.getNextHighestDepth());
    var 
listener:Object = new Object();
    
listener.tmc target;
    
listener.onLoadInit = function(mc:MovieClip) {
        
mc._visible false;
        if(
mc._height>mc._width){
                
mc.h_faq mc._height/h;
                
mc.w_faq 100/mc.h_faq;
            }
            if(
mc._height<mc._width){
                
mc.h_faq mc._height/h;
                
mc.w_faq 100/mc.h_faq;
            }
            
        var 
bitmap:BitmapData = new BitmapData(mc._widthmc._heighttrue);
        
this.tmc.attachBitmap(bitmapthis.tmc.getNextHighestDepth(), "auto"true);
        
bitmap.draw(mc);
        
mc._alpha 100;
            
this.tmc._height Math.round(h);
            
this.tmc._xscale Math.round(mc.w_faq);
            
this.tmc.onRelease = function(){
            }
            
init();
    };
    var 
loader:MovieClipLoader = new MovieClipLoader();
    
loader.addListener(listener);
    
loader.loadClip(urlbmc);
}


//var imageCount = 19;
var xpos 0;
var 
ypos 00;
var 
hoehe 520;
var 
breite 960;
var 
imageWidth=100;
var 
abstand 2;
var 
speed .08;
var 
ruhe_bereich 50;//ergibt mittig 100 Pixel ohne Scroll
var holder this.createEmptyMovieClip("holder"this.getNextHighestDepth());
holder._x xpos;
holder._y ypos;
for(var 
i=0i<imageCounti++)
{
    var 
clip holder.createEmptyMovieClip("clip" iholder.getNextHighestDepth());
    
clip.ID i;
//    loadBitmapSmoothed("data/image" + (random(10)+1) + ".jpg", clip, hoehe);//nur mal als random
    
loadBitmapSmoothed("data/image" + (i+1) + ".jpg"cliphoehe);
}


holder.onEnterFrame = function(){
    if(
_xmouse<(Stage.width/2)-ruhe_bereich){
        
this._x this._x + (Stage.width/_xmouse) * speed;
        
this._x Math.round(this._x);
    }
    if(
_xmouse>(Stage.width/2)+ruhe_bereich){
        
this._x this._x + (Stage.width/_xmouse) * speed;
        
this._x Math.round(this._x);
    }
    if(
this._x>=0this._x 0;
    if(
this._x<-(this._width-Stage.width)) this._x = -(this._width-Stage.width);
    
updateAfterEvent();
}
function 
init(){
    for(var 
n=1n<imageCountn++){
        
_root.holder["clip"+n]._x _root.holder["clip" + (n-1)]._x _root.holder["clip" + (n-1)]._width abstand;
    }
    
_root.holder._x = -(_root.holder._width-Stage.width)/2;

Danke schon mal und Grüße
Somi
somi ist offline   Mit Zitat antworten
Alt 03-03-2010, 10:42   #26 (permalink)
Neuer User
 
Registriert seit: May 2002
Beiträge: 2
ein Problem weniger

ok, das Einbetten habe ich mit lockroot hinbekommen, aber die Sache mit der Variable leider immer noch nicht
somi ist offline   Mit Zitat antworten
Alt 22-07-2010, 11:08   #27 (permalink)
Neuer User
 
Registriert seit: Jul 2010
Beiträge: 1
Bilder vergrößern

Ein großes Kompliment erst einmal an Nullidee, das Script ist genial und genau das, was ich suchte!
Eine kleine Sache fehlt mir aber noch und ich bekomme es trotz meiner Experimentiererei nicht selbst gebacken:
Ich würde die Bilder gerne zum vergrößern anklicken können (es sollte dann jeweils ein 2. größeres Bild angezeigt werden) . Als Schaltflächen sind die Bilder der Laufleiste ja bereits definiert.
Die Idee von Somi mit der ausgelagerten Textdatei wäre dann zusätzlich noch eine praktische Sache, um die Galerie ohne große Mühe stetig erweitern und ändern zu können

Danke schon mal im Voraus
LG Vargo
Vargo ist offline   Mit Zitat antworten
Alt 31-01-2011, 14:38   #28 (permalink)
Neuer User
 
Registriert seit: Jan 2011
Beiträge: 9
Die Laufband-Vorlage ist einfach genial
Aber kann mir jemand erklären wie man es hinbekommt das die Bilder zum rand hin ihre Deckkraft verlieren?



MFG
EndlichUrlaub ist offline   Mit Zitat antworten
Alt 03-02-2011, 14:39   #29 (permalink)
Neuer User
 
Registriert seit: Jan 2011
Beiträge: 9
keiner lust mir es zu erklären? oder nicht möglich?
also wenn das zu aufwendig ist um es hier zu erklären sagt mir bitte bescheid, dann lass ich es lieber

mfg
EndlichUrlaub ist offline   Mit Zitat antworten
Antwort

Lesezeichen

Themen-Optionen
Ansicht

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks sind an
Pingbacks sind an
Refbacks sind an



Alle Zeitangaben in WEZ +1. Es ist jetzt 21:43 Uhr.

Domains, Webhosting & Vserver von Host Europe
Unterstützt das Flashforum!
Adobe User Group


Copyright ©1999 – 2012 Marc Thiele