Zurück   Flashforum > Flash > ActionScript > ActionScript 3

Antwort
 
LinkBack Themen-Optionen Ansicht
Alt 30-11-2011, 13:04   #1 (permalink)
Neuer User
 
Registriert seit: Oct 2010
Beiträge: 47
LocalConnection

Hallo zusammen!

Ich bin wieder mal am üben. Diesmal möchte ich ein Wallpaper basteln, in dem ein rotes Quadrat von den einen in den anderen Banner wechselt. Bisher habe ich das hier für den ersten Banner:

PHP-Code:
public class quer extends Sprite
    
{
        var 
rot = new Sprite();
        var 
sender = new LocalConnection();

        public function 
quer()
        {
            
rot.graphics.beginFill(0xff0000);
            
rot.graphics.drawRect(0,25,40,40);
            
addChild(rot);

            
bev();
        }
        function 
bew()
        {
            var 
goTo = new Tween(rot,"x",None.easeIn,rot.x,688,2,true);
            
goTo.addEventListener("motionFinish",chicken);
        }
        function 
chicken(e:Event)
        {
            
sender.send("Verbindung","beweg");
        } 
und das hier für den zweiten Banner:

PHP-Code:
public class hoch extends Sprite
    
{
        var 
rot = new Sprite();
        var 
empf = new LocalConnection();

        public function 
hoch()
        {
            
rot.graphics.beginFill(0xff0000);
            
rot.graphics.drawRect(0,25,40,40);

            
empf.connect("Verbindung");
            
empf.client this;
        }
        function 
beweg()
        {
            
addChild(rot);
            var 
goTo = new Tween(rot,"x",None.easeIn,rot.x,688,2,true);
        } 
Wenn ich das in teste wandert das Quadrat im ersten Banner bis zum Schluß und wirft mir folgende Fehlermeldung aus:
Error #2044: AsyncErrorEvent unverarbeitet. text=Error #2095: flash.net.LocalConnection konnte Rückruf beweg nicht auslösen. error=ReferenceError: Error #1069: Eigenschaft beweg für hoch nicht gefunden und es ist kein Standardwert vorhanden.

(hoch heißt die Klasse.)

Was mache ich falsch?

Grüße, Weißnix
Weißnix ist offline   Mit Zitat antworten
Alt 30-11-2011, 13:51   #2 (permalink)
Neuer User
 
Registriert seit: Oct 2010
Beiträge: 47
Nachtrag:

Mittlerweile habe ich die Codes in je eine FLA kopiert und siehe da es funktioniert. Also ist der Code gar nicht mal so falsch. Nun möchte ich das Ganze aber schon in Klassen gepackt haben.

Wer weiß Rat?
Weißnix ist offline   Mit Zitat antworten
Alt 30-11-2011, 14:29   #3 (permalink)
Neuer User
 
Benutzerbild von padavan
 
Registriert seit: Apr 2002
Beiträge: 496
ich versteh die konstruktion zwar nicht ganz - aber die funktionen habe keinen definierten Gültigkeitsbereich - private, public... und sollte hier wohl public sein?
__________________
Grafik - Webdesign - Programmierung - www.thsc.at
Adventkalender 2011 advent.wien.info/de
Jobspace - Universum der Lehrstellen www.jobspace.at
padavan ist offline   Mit Zitat antworten
Alt 30-11-2011, 14:54   #4 (permalink)
Neuer User
 
Registriert seit: Oct 2010
Beiträge: 47
Das war der richtige Hinweis.

function beweg() muß public sein, dann funktionierts.

Vielen Dank,
Weißnix
Weißnix ist offline   Mit Zitat antworten
Alt 01-12-2011, 09:54   #5 (permalink)
Neuer User
 
Registriert seit: Oct 2010
Beiträge: 47
So ein Mist!

Jetzt habe ich die beiden Banner in HTML nebeneinander gestellt. Im Firefox ist alles wunderbar - das Quadrat verläßt das querformatige Banner und wandert im hochformatigen weiter. Im IE passiert rein gar nichts.

Natürlich habe ich gleich gegoogelt, gelesen daß das normal sein soll und asLocalConnect gefunden. Damit komme ich leider gar nicht klar. Im Flash bekomme ich die Meldung, daß onLoad (ist das nicht AS2?) nicht automatisch gestartet wird und es ist alles wie bisher, FF läuft IE nicht.

Hier die Scripts:

PHP-Code:
package 
{
    
import flash.display.Sprite;
    
import flash.events.Event;
    
import fl.transitions.Tween;
    
import fl.transitions.easing.None;
    
import de.markusbordihn.flash.as3.asLocalConnect;

    public class 
quer extends Sprite
    
{
        var 
rot = new Sprite();
        var 
sender = new asLocalConnect('FlashA');

        public function 
quer()
        {
            
rot.graphics.beginFill(0xff0000);
            
rot.graphics.drawRect(0,25,40,40);
            
addChild(rot);
            
            
bew();
        }
        function 
bew()
        {
            var 
goTo = new Tween(rot,"x",None.easeIn,rot.x,688,2,true);
            
goTo.addEventListener("motionFinish",chicken);
        }
        function 
chicken(e:Event)
        {
            
sender.send("FlashB","go");

        }
    }

PHP-Code:
package 
{
    
import flash.display.Sprite;
    
import fl.transitions.Tween;
    
import fl.transitions.easing.None;
    
import de.markusbordihn.flash.as3.asLocalConnect;

    public class 
hoch extends Sprite
    
{
        var 
rot = new Sprite();
        var 
empf:asLocalConnect = new asLocalConnect('FlashB');

        public function 
hoch()
        {
            
rot.graphics.beginFill(0xff0000);
            
rot.graphics.drawRect(0,25,40,40);

            
empf.setSecurity(5);
            
empf.listen("go",beweg);
        }
        public function 
beweg()
        {
            
addChild(rot);
            var 
goTo = new Tween(rot,"x",None.easeIn,rot.x,120,3,true);
        }
    }

Wo ist mein Fehler?

Grüße, Weißnix
Weißnix ist offline   Mit Zitat antworten
Alt 01-12-2011, 11:44   #6 (permalink)
Neuer User
 
Benutzerbild von andrelehnert
 
Registriert seit: Oct 2007
Ort: Kölle
Beiträge: 1.229
asLocalConnect kenne ich nicht - braucht man aber eigentlich auch nicht,
da es mit den Boardmitteln von Flash normalerweise in allen Browsern funktioniert.
Wir bindest Du denn die swfs ein? Ich denke, da solltest DU nach der Fehlerquelle such, wenn local alles läuft.

LG ANdré
__________________
Die Hoffnung stirbt zuletzt.
Aber sie stirbt.
andrelehnert ist offline   Mit Zitat antworten
Alt 01-12-2011, 12:23   #7 (permalink)
Neuer User
 
Registriert seit: Oct 2010
Beiträge: 47
Das ist gut möglich, da ich mich mit HTML gar nicht auskenne. Hier ist der HTML-code:

PHP-Code:
<html>

<
head>

<
title>Testseite</title>

</
head>

<
body style="background-color:#ffffdd;">
<
h1>headline 1</h1>

<
p>
<
style type="text/css">
.
flash overflow:hiddenwidth:1450; }
.
left, .right width:50%; }
.
left float:left; }
.
right float:right; }
</
style>

<
div class="flash">
  <
div class="left">
  <
object type="application/x-shockwave-flash"
data="728x90_WP.swf" id="abc" width="728" height="90">
 <
param name="movie" value="static_URL.swf">
 <
param name="bgcolor" value ="#FFFFFF">
 <
param name="quality" value ="high">
 <
param name="loop" value="true">
 <
param name="menu" value="true">
 <
param name="swliveconnect" value="true">
 <
param name="wmode" value="window">
</
object>
  </
div>

<
object type="application/x-shockwave-flash"
data="160x900.swf" id="def" width="160" height="900">
 <
param name="movie" value="static_URL.swf">
 <
param name="bgcolor" value ="#FFFFFF">
 <
param name="quality" value ="high">
 <
param name="loop" value="true">
 <
param name="menu" value="true">
 <
param name="swliveconnect" value="true">
 <
param name="wmode" value="window">
</
object>
  </
div>
</
p>

</
body>

</
html
Grüße, Weißnix
Weißnix ist offline   Mit Zitat antworten
Alt 01-12-2011, 12:51   #8 (permalink)
Neuer User
 
Benutzerbild von andrelehnert
 
Registriert seit: Oct 2007
Ort: Kölle
Beiträge: 1.229
Realisiere die Einbindung unbedingt mit Hilfe von swfobject/.


HTML-Code:
<html>
<head>
	<title>LConnectiontest</title>
	<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
	<meta name="language" content="en" />
	
	<!-- Die swfobject.js gehört auf den Server - in diesem Falle in den ordner "js/" - relativ
                zum Speicherort dieser Seite  -->
	<script src="js/swfobject.js" type="text/javascript"></script>
	<script type="text/javascript">
<!--
 Hier die urls und die anderen Parameter anpassen
                                -->		
		swfobject.embedSWF("lcSender.swf", "altContentSender", "550", "250", "10.0.0", "expressInstall.swf" );
		swfobject.embedSWF("lcReceiver.swf", "altContentReceiver", "550", "250", "10.0.0", "expressInstall.swf" );

</script>
	<style type="text/css">
		html, body { overflow:scroll; }
		body { margin:0; }
	</style>
</head>
<body bgColor=" #FFFFFF">
<h1>sender</h1>
	<div id="altContentSender">		
		<p>Alternative content Sender</p>
		<p><a href="http://www.adobe.com/go/getflashplayer"><img 
			src="http://www.adobe.com/images/shared/download_buttons/get_flash_player.gif" 
			alt="Get Adobe Flash player" /></a></p>
	</div><br/>

	<h1>empf&auml;nger</h1>
<div id="altContentReceiver">
		<p>Alternative content Receiver</p>
		<p><a href="http://www.adobe.com/go/getflashplayer"><img 
			src="http://www.adobe.com/images/shared/download_buttons/get_flash_player.gif" 
			alt="Get Adobe Flash player" /></a></p>
</div>

</body>
</html>
LG ANdré
__________________
Die Hoffnung stirbt zuletzt.
Aber sie stirbt.
andrelehnert ist offline   Mit Zitat antworten
Alt 01-12-2011, 14:03   #9 (permalink)
Neuer User
 
Registriert seit: Oct 2010
Beiträge: 47
Super!
So funktioniert es. Vielen Dank!
Gibt es auch eine Möglichkeit die beiden Banner nebeneinander zu stellen? Wie bereits erwähnt, von HTML habe ich nicht die geringste Ahnung...

Grüße, Weißnix
Weißnix ist offline   Mit Zitat antworten
Alt 01-12-2011, 15:50   #10 (permalink)
Neuer User
 
Benutzerbild von andrelehnert
 
Registriert seit: Oct 2007
Ort: Kölle
Beiträge: 1.229
Jau, einfach mal dein css übernehmen und ein bisschen anpassen
HTML-Code:
<style type="text/css">
.altContentSender, .altContentReceiver { width:50%; }
.altContentSender{ float:left; }
.altContentReceiver { float:right; }
</style> 
LG ANdré
__________________
Die Hoffnung stirbt zuletzt.
Aber sie stirbt.
andrelehnert ist offline   Mit Zitat antworten
Alt 01-12-2011, 16:55   #11 (permalink)
Neuer User
 
Registriert seit: Oct 2010
Beiträge: 47
Danke erstmal. Ich habe in der Zwischenzeit schon mal damit herum experimentiert, war bisher aber ergebnislos. Wie gesagt, keine Ahnung von HTML, konzentrierte mich bisher auf AS 3.
Ich mache morgen weiter und werde berichten.

Grüße, Weißnix
Weißnix ist offline   Mit Zitat antworten
Alt 01-12-2011, 17:21   #12 (permalink)
Neuer User
 
Benutzerbild von andrelehnert
 
Registriert seit: Oct 2007
Ort: Kölle
Beiträge: 1.229
bei html-Problemen poste am Besten in diesen Bereich.

LG ANdré
__________________
Die Hoffnung stirbt zuletzt.
Aber sie stirbt.
andrelehnert 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


Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
LocalConnection Bondscoach ActionScript 2 2 19-06-2008 10:12
LocalConnection oder Multiple LocalConnection ??? flashgirl Flash MX 2004 8 18-05-2006 19:09
LocalConnection Angkor ActionScript 1 2 11-05-2005 23:54
LocalConnection und MAC jack russel ActionScript 1 2 11-05-2005 15:07
LocalConnection bamsi ActionScript 1 2 16-07-2003 18:19


Alle Zeitangaben in WEZ +1. Es ist jetzt 11:56 Uhr.

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


Copyright ©1999 – 2012 Marc Thiele