mediengestalter.info
FAQ :: Mitgliederliste :: MGi Team

Willkommen auf dem Portal für Mediengestalter

Aktuelles Datum und Uhrzeit: Fr 19.04.2024 13:11 Benutzername: Passwort: Auto-Login

Thema: [Scripte] MGI-Codeschnipsel-Ecke vom 08.11.2007


Neues Thema eröffnen   Neue Antwort erstellen MGi Foren-Übersicht -> Programmierung -> [Scripte] MGI-Codeschnipsel-Ecke
Seite: 1, 2, 3, 4  Weiter
Autor Nachricht
l'Audiophile
Threadersteller

Dabei seit: 16.09.2004
Ort: Berlin
Alter: 43
Geschlecht: Männlich
Verfasst Do 08.11.2007 12:47
Titel

[Scripte] MGI-Codeschnipsel-Ecke

Antworten mit Zitat Zum Seitenanfang

Moinsen zusammen,

in diesem Thread werden Flaming Art und ich in Zukunft Pakete, Klassen,
Prototypen und sonstige Codeschnipsel zum Besten geben, die ihr kopieren,
modifizieren und natürlich frei verwenden könnt (sollt).


###############################################


Ein paar Regeln um die Sache hier ein bischen
flüssiger zu veranstalten:


Das ist KEIN TUTORIAL-THREAD, das heisst im Klartext, die Scripte
werden hier nur beschrieben allerdings nicht einzeln bis aufs kleinste Detail
auskommentiert.
Der Großteil der Scripte wird sich wohl an Intermediate-Flasher wenden, d.h.
Basis-Actionscript-Kenntnisse sollten vorhanden sein.
Wünsche dürfen gerne geäußert werden, der Thread soll allerdings nicht in
einen "wie mache ich dieses; wie mache ich jenes"-Thread ausarten. Hier
werden keine kopletten CMS, Multimedia-Galerien etc. sowie auch
keine fertigen Flash-Dateien gepostet, die gehören in die Tutorial-Ecke. Wir
wollen hier lediglich kleine, praktische Alltagslösungen anbieten.

Für Kommentare bitte nicht diesen, sondern ausschließlich den speziell dafür
angelegten Thread benutzen
, sonst wird das hier das einzige Chaos. Ich hoffe
die zuständigen Mods sind damit einverstanden. Doppelposts von Flaming Art
und mir werden hier auch unvermeidbar sein, ich bitte darum auch hier ein
Auge zuzudrücken Lächel
BITTE KEINE FRAGEN per PN, diese werden von mir und ich denke auch von
Flaming Art kommentarlos gelöscht. *pah*


###############################################


Eine Idee wäre vielleicht noch, den Thread mit anderen Programmiersprachen
zu koppeln. Vielleicht hat ja jemand (Schinken, Zeithase, Shaly …) Lust hier
mitzumachen, dann benennen wir den Titel einfach um. *Thumbs up!*


So, das waren erstmal meine zwei Cent zum Thema, mehr dazu später. Lächel







// Edit: Threadtitel umbenannt Lächel


Zuletzt bearbeitet von l'Audiophile am Fr 09.11.2007 10:36, insgesamt 3-mal bearbeitet
  View user's profile Private Nachricht senden Website dieses Benutzers besuchen
l'Audiophile
Threadersteller

Dabei seit: 16.09.2004
Ort: Berlin
Alter: 43
Geschlecht: Männlich
Verfasst Do 08.11.2007 12:55
Titel

Actionscript 3.0 OOP // XML-Loader

Antworten mit Zitat Zum Seitenanfang

Soo, ich fang auch direkt mal ein, ein bischen Stoff an die Meute zu verfüttern:


Hier eine kleine Klasse zum komfortablen Laden und Ausgeben von XML Daten per Actionscript 3.
Eingebaut ist weiterhin eine Methode, welche die XML-Syntax beim Parsen genauestens unter die Lupe nimmt und eventuelle Strukturfehler bei der Ausgabe anzeigt. * Such, Fiffi, such! *



Klasse XMLLoader.as
Code:

package {

   import flash.display.*;
   import flash.text.*;
   import flash.events.*;
   import flash.net.*;
   import flash.utils.*;


   public class XMLLoader extends Sprite {

      private var _textOutput:TextField;



      public function XMLLoader() {

         var _loader:URLLoader=new URLLoader;
         _loader.addEventListener(Event.COMPLETE,checkXMLMarkup);
         _loader.load(new URLRequest("test.xml"));
         handleData();

      }


      private function checkXMLMarkup(event:Event):void {

         try {
            var _XMLData:XML=new XML(event.target.data);
            trace(_XMLData);
         } catch (ErrorMsg:TypeError) {
            trace("Formatfehler: Die Daten konnte nicht als XML geparst werden");
            trace(ErrorMsg.message);
         }

         var _loader:URLLoader=URLLoader(event.target);
         _textOutput.text=_loader.data;

      }


      private function handleData():void {

         _textOutput=new TextField();
         _textOutput.width=400;
         _textOutput.height=400;
         addChild(_textOutput);

      }


   }
}





Flaming Art; du hast den Ball. Lächel


Zuletzt bearbeitet von l'Audiophile am Do 08.11.2007 12:58, insgesamt 2-mal bearbeitet
  View user's profile Private Nachricht senden Website dieses Benutzers besuchen
Anzeige
Anzeige
phihochzwei
Moderator

Dabei seit: 08.06.2006
Ort: Mülheim an der Ruhr
Alter: 46
Geschlecht: Männlich
Verfasst Do 08.11.2007 13:41
Titel

Antworten mit Zitat Zum Seitenanfang

Oh.... Bälle....... *hehe*


Okay, okay, ich lass mich dann mal nicht lang bitten.

Hier ein CuePointManager für Adobe Premiere erstellte FLV´s

Code:

import mx.controls.MediaDisplay
import mx.events.EventDispatcher

class MovieManager{
   private var _m:MediaDisplay;
   private var _mlistener:Object;
   private var _available:Boolean;
   private var _cuearray:Array;
   
   public function MovieManager(Movie:String, _inst:MovieClip, Auto:Boolean){
      mx.events.EventDispatcher.initialize(this)
      this._cuearray = new Array();
      _available = false;
      _m = _inst.createObject("MediaDisplay", "_m" + Movie.split(".")[0], _inst.getNextHighestDepth(), {contentPath:Movie});
      loadCuepoints(Movie, Auto)
   }
   
   private function loadCuepoints(File:String, Auto:Boolean){
      var ref = this;
      var _cuexml:XML = new XML()
      _cuexml.ignoreWhite = true;
      _cuexml.onLoad = function(success:Boolean){
         ref._available = true;
         
         for(var i:Number = 0; i < this.firstChild.childNodes.length; i++){
             var _point:XMLNode = this.firstChild.childNodes[i];
            var _cue:Object = new Object();
            
            for(var p:Number = 0; p < _point.childNodes.length; p++){
               var _node:XMLNode = _point.childNodes[p];
               switch(_node.nodeName){
                  case "Parameters":
                  var _para:Array = _cue._parameters = new Array()
                  for(var u:Number = 0; u < _node.childNodes.length; u++){
                     var _param:XMLNode = _node.childNodes[u];
                     for(var v:Number = 0; v < _param.childNodes.length; v++){
                        var _element:XMLNode = _param.childNodes[v];
                        switch(_element.nodeName){
                           case "Name":
                           var _parameter:String = _para[_element.firstChild.nodeValue] = _element.nextSibling.firstChild.nodeValue;
                           break;
                        }
                     }
                  }
                  break;
                  
                  default:
                  _cue[_node.nodeName] = _node.firstChild.nodeValue;
                  break;
               }
            }
            ref._cuearray[_cue.Name] = _cue;
            ref._m.addCuePoint(_cue.Name, parseInt(_cue.Time)/1000);
         }
         
            
         switch(Auto){
            case true:
            ref.play();
            break;
         }
         
         var eventObject:Object = {target:ref, type:"loaded"};
         ref.dispatchEvent(eventObject);

      }
      _cuexml.load(File.split(".")[0] + "_cue.xml");
      
   }
   
   
   
   public function setPosition(X:Number, Y:Number){
      _m._x = X;
      _m._y = Y;
   }
   
   public function play(){
      switch(_available){
         case true:
         var ref = this;
         var _mlistener:Object = new Object()
         _mlistener.cuePoint = function(mobj:Object){
            var eventObject:Object = {target:ref._cuearray[mobj.cuePointName], type:"onCuePoint"};
            ref.dispatchEvent(eventObject);
         }
         
         _m.addEventListener("cuePoint", _mlistener);
         _m.play();
         break;
         
         default:
         trace("Movie not Available");
         break;
      }
   }
   
   
   
   public function dispatchEvent(){}
   public function addEventListener(){}
   public function removeEventListener(){}
}




Die XML-Datei muss folgende Namenskonvention erfüllen: [Dateiname_der_flv + "_cue"].xml
Und so sehen die aus (können auch von Hand erstellt werden):

Code:
<?xml version="1.0" encoding="utf-8"?>
<FLVCoreCuePoints>
    <CuePoint>
        <Time>2000</Time>
        <Type>navigation</Type>
        <Name>CuePoint1</Name>
    <Parameters>
        <Parameter>
            <Name>CuePoint1</Name>
            <Value>Introduction</Value>
        </Parameter>
        <Parameter>
            <Name>Cast</Name>
            <Value>ActorNames</Value>
        </Parameter>
    </Parameters>
    </CuePoint>
   
   <CuePoint>
        <Time>10000</Time>
        <Type>navigation</Type>
        <Name>Horst sein Sohn</Name>
    <Parameters>
        <Parameter>
            <Name>CuePoint1</Name>
            <Value>Introduction</Value>
        </Parameter>
        <Parameter>
            <Name>Cast</Name>
            <Value>ActorNames</Value>
        </Parameter>
    </Parameters>
    </CuePoint>

</FLVCoreCuePoints>









Eingesetzt wird das ganze folgendermaßen:

Code:
var MovieA:MovieManager = new MovieManager("halo.flv", _root, true)

var MovieA_listener:Object = new Object();
MovieA_listener.loaded = function(eventObj:Object){
   MovieA.setPosition(200,100)
   trace("Geladen")
}
MovieA_listener.onCuePoint = function(eventObj:Object){
   var test:String = ""
   for(var honk in eventObj.target._parameters){
      test += honk + ": " + eventObj.target._parameters[honk] +"\n";
   }
   trace(test)
}
MovieA.addEventListener("loaded", MovieA_listener);
MovieA.addEventListener("onCuePoint", MovieA_listener);





Zum Konstruktor:
- Param A: URL zur FLV
- Param B: Ebene/Instance in der das Anzeigekomponente erstellt werden soll
- Param C: Autoplay ture/false


Als Methoden haben wir:

- play() (guess what)
- setPosition(X,Y) (positionierung der Anzeigekomponente)


Als Events haben wir:

- loaded: Feuert wenn cuePoints geladen und zugewiesen sind
- onCuePoint: Feuert wenn ein Cuepoint erreicht wird



Den Rest könnt ihr per Trial&Error rauskriegen Lächel, soll ja auch Spaß machen.




Und damit geben wir zurück nach Luxemburg........
  View user's profile Private Nachricht senden Website dieses Benutzers besuchen
l'Audiophile
Threadersteller

Dabei seit: 16.09.2004
Ort: Berlin
Alter: 43
Geschlecht: Männlich
Verfasst Do 08.11.2007 14:25
Titel

Actionscript 1.0 // dynamische XML-Scrollbar

Antworten mit Zitat Zum Seitenanfang

So, die olle komplett dynamische XML-Scrollbar in AS 1 darf auch nicht fehlen. *ha ha* Ich schreib sie bei Gelegenheit mal in ein AS3-Paket um. *zwinker*


Was hab ich damals wie wild daran rumgeknobelt. *zwinker* *Thumbs up!*



Code:

//##########################################################
//XML
text_xml = new XML();
text_xml.ignoreWhite = true;
text_xml.load("test.xml");
text_xml.onLoad = function(status) {
   if (status) {
      xmltext = "Paltz für jede Menge blabla";
      delete text_xml;
      textcontent();
   }
};
// Variablen zur Textformatierung
var textcolor = 0x333333;
var font = "Verdana";
var fontsize = 100;
var align = "left";
//##########################################################
//##########################################################
// VARIABLEN
//
// Positionierung der Elemente
// position des gesamten elements
var main_xpos = 20;
var main_ypos = 20;
// position der contentbox innerhalb des hauptelements
var content_xpos = 0;
var content_ypos = 0;
// eigenschaften der contentbox --> sollten >= der eigenschaften des textfeldes sein
var contentwidth = 200;
var contentheight = 3300;
// textfeldeigenschaften innerhalb der contentbox
var textwidth = 200;
var textheight = 3300;
// x-position des scrollers
var scroller_xpos = contentwidth;
// eigenschaften der bounding-box
var boundbox_height = 450;
var boundbox_width = contentwidth;
// eigenschaften der buttons
var btn_width = 15;
var btn_height = 15;
var btn_up_ypos = 0;
var btn_down_ypos = boundbox_height-btn_height;
var btn_color = 0xFFFFFF;
var btn_transparency = 100;
var btn_borderthickness = 0;
var btn_bordercolor = 0x000000;
var btn_bordertransparency = 100;
// eigenschaften des draggers
var dragger_width = 15;
var scroller_size_factor = 2.833;
var dragger_height = Math.round((boundbox_height-(btn_height*2))/scroller_size_factor);
var dragger_ypos = content_xpos+btn_height;
var dragger_color = 0xFFFFFF;
var dragger_transparency = 100;
var dragger_borderthickness = 0;
var dragger_bordercolor = 0x000000;
var dragger_bordertransparency = 100;
// eigenschaften der scrollbar
var bar_width = 15;
var bar_height = boundbox_height;
var bar_ypos = 0;
var bar_color = 0xCCCCCC;
var bar_transparency = 50;
var bar_borderthickness = 0;
var bar_bordercolor = 0x777777;
var bar_bordertransparency = 50;
//
// Scroll Speed 1-15
var scroll_speed = 5;
var path = this;
//##########################################################
//##########################################################
// Erstelle Container
path.createEmptyMovieClip("container",1000);
with (path.container) {
   _x = main_xpos;
   _y = main_ypos;
}
path.container.createEmptyMovieClip("boundbox",1001);
with (path.container.boundbox) {
   _width = boundbox_height;
   _height = boundbox_height;
   _x = 0;
   _y = 0;
}
path.container.createEmptyMovieClip("mask_mc",1004);
with (path.container.mask_mc) {
   beginFill(0xff0000,bar_transparency);
   moveTo(content_xpos,content_ypos);
   lineTo(content_xpos+boundbox_width,content_ypos);
   lineTo(content_xpos+boundbox_width,content_ypos+boundbox_height);
   lineTo(content_xpos,content_ypos+boundbox_height);
   lineTo(content_xpos,content_ypos);
}
path.container.createEmptyMovieClip("contentbox",1002);
with (path.container.contentbox) {
   _x = content_xpos;
   _y = content_ypos;
   setMask(path.container.mask_mc);
}
//##########################################################
// erstelle Textfeld für den Inhalt
function textcontent() {
   path.container.contentbox.createTextField("textfield",1003,0,0,textwidth,textheight);
   textproperties = new TextFormat();
   textproperties.color = textcolor;
   textproperties.font = font;
   textproperties.size = fontsize;
   textproperties.align = textausrichtung_kb;
   with (path.container.contentbox.textfield) {
      autosize = "center";
      border = true;
      multiline = true;
      wordWrap = true;
      html = true;
      embedFonts = false;
      htmlText = xmltext;
      setTextFormat(textproperties);
   }
}
// zeichne Bar
path.container.createEmptyMovieClip("bar",1010);
path.container.bar.createEmptyMovieClip("bar_border",1011);
with (path.container.bar) {
   beginFill(bar_color,bar_transparency);
   moveTo(bar_xpos,bar_ypos);
   lineTo(bar_xpos+bar_width,bar_ypos);
   lineTo(bar_xpos+bar_width,bar_ypos+bar_height);
   lineTo(bar_xpos,bar_ypos+bar_height);
   lineTo(bar_xpos,bar_ypos);
   endFill;
}
with (path.container.bar.bar_border) {
   lineStyle(bar_borderthickness,bar_bordercolor,bar_bordertransparency);
   moveTo(scroller_xpos,bar_ypos);
   lineTo(scroller_xpos+bar_width,bar_ypos);
   lineTo(scroller_xpos+bar_width,bar_ypos+bar_height);
   lineTo(scroller_xpos,bar_ypos+bar_height);
   lineTo(scroller_xpos,bar_ypos);
}
// zeichne Griff
path.container.createEmptyMovieClip("dragger",1012);
path.container.dragger.createEmptyMovieClip("dragger_border",1013);
with (path.container.dragger) {
   beginFill(dragger_color,dragger_transparency);
   moveTo(scroller_xpos,dragger_ypos);
   lineTo(scroller_xpos+dragger_width,dragger_ypos);
   lineTo(scroller_xpos+dragger_width,dragger_ypos+dragger_height);
   lineTo(scroller_xpos,dragger_ypos+dragger_height);
   lineTo(scroller_xpos,dragger_ypos);
   endFill;
}
with (path.container.dragger.dragger_border) {
   lineStyle(dragger_borderthickness,dragger_bordercolor,dragger_bordertransparency);
   moveTo(scroller_xpos,dragger_ypos);
   lineTo(scroller_xpos+dragger_width,dragger_ypos);
   lineTo(scroller_xpos+dragger_width,dragger_ypos+dragger_height);
   lineTo(scroller_xpos,dragger_ypos+dragger_height);
   lineTo(scroller_xpos,dragger_ypos);
}
// zeichne Schalter "UP"
path.container.createEmptyMovieClip("btn_up",1014);
path.container.btn_up.createEmptyMovieClip("btn_up_border",1015);
with (path.container.btn_up) {
   beginFill(btn_color,btn_transparency);
   moveTo(scroller_xpos,btn_up_ypos);
   lineTo(scroller_xpos+btn_width,btn_up_ypos);
   lineTo(scroller_xpos+btn_width,btn_up_ypos+btn_height);
   lineTo(scroller_xpos,btn_up_ypos+btn_height);
   lineTo(scroller_xpos,btn_up_ypos);
   endFill;
}
with (path.container.btn_up.btn_up_border) {
   lineStyle(btn_borderthickness,btn_bordercolor,btn_bordertransparency);
   moveTo(scroller_xpos+btn_borderthickness,btn_up_ypos+btn_borderthickness);
   lineTo(scroller_xpos+btn_width-(btn_borderthickness*2),btn_up_ypos+btn_borderthickness);
   lineTo(scroller_xpos+btn_width-(btn_borderthickness*2),btn_up_ypos+btn_height-(btn_borderthickness*2));
   lineTo(scroller_xpos+btn_borderthickness,btn_up_ypos+btn_height-(btn_borderthickness*2));
   lineTo(scroller_xpos+btn_borderthickness,btn_up_ypos+btn_borderthickness);
}
// zeichne Schalter "DOWN"
path.container.createEmptyMovieClip("btn_down",1016);
path.container.btn_down.createEmptyMovieClip("btn_down_border",1017);
with (path.container.btn_down) {
   beginFill(btn_color,btn_transparency);
   moveTo(scroller_xpos,btn_down_ypos);
   lineTo(scroller_xpos+btn_width,btn_down_ypos);
   lineTo(scroller_xpos+btn_width,btn_down_ypos+btn_height);
   lineTo(scroller_xpos,btn_down_ypos+btn_height);
   lineTo(scroller_xpos,btn_down_ypos);
   endFill;
}
with (path.container.btn_down.btn_down_border) {
   lineStyle(btn_borderthickness,btn_bordercolor,btn_bordertransparency);
   moveTo(scroller_xpos+btn_borderthickness,btn_down_ypos+btn_borderthickness);
   lineTo(scroller_xpos+btn_width-(btn_borderthickness*2),btn_down_ypos+btn_borderthickness);
   lineTo(scroller_xpos+btn_width-(btn_borderthickness*2),btn_down_ypos+btn_height-(btn_borderthickness*2));
   lineTo(scroller_xpos+btn_borderthickness,btn_down_ypos+btn_height-(btn_borderthickness*2));
   lineTo(scroller_xpos+btn_borderthickness,btn_down_ypos+btn_borderthickness);
}
//##########################################################
//##########################################################
// Technik --> Scrollbar
_root.onLoad = function() {
   difference_y = boundbox_height-path.container.btn_up._height-path.container.btn_down._height;
   border_top = content_ypos;
   bottom = content_ypos+boundbox_height-(path.container.dragger._height+path.container.btn_up._height+path.container.btn_down._height);
};
function scrollbar() {

   path.container.contentbox._y = -((path.container.dragger._y-border_top)/difference_y)*(contentheight+boundbox_height+path.container.dragger._height+path.container.btn_up._height+path.container.btn_down._height);
}
//##########################################################
// Mausereignisse
_root.onMouseDown = function() {
   if (path.container.dragger.hitTest(_root._xmouse, _root._ymouse)) {
      path.container.dragger.startDrag(false,path.container.dragger._x,border_top,path.container.dragger._x,bottom);
      scrolling = true;
   }
   if (path.container.btn_up.hitTest(_root._xmouse, _root._ymouse)) {
      btn_up_scrolling = true;
   }
   if (path.container.btn_down.hitTest(_root._xmouse, _root._ymouse)) {
      btn_down_scrolling = true;
   }
};
_root.onMouseUp = function() {
   stopDrag();
   scrolling = false;
   btn_up_scrolling = false;
   btn_down_scrolling = false;
};
_root.onEnterFrame = function() {
   if (btn_up_scrolling) {
      if ((path.container.dragger._y)>(border_top+scroll_speed)) {
         path.container.dragger._y -= scroll_speed;
         bt_scrolling = true;
      } else {
         path.container.dragger._y = 0;
         btn_up_scrolling = false;
      }
   }
   if (btn_down_scrolling) {
      if ((path.container.dragger._y)<(bottom-scroll_speed)) {
         path.container.dragger._y += scroll_speed;
         bt_scrolling = true;
      } else {
         path.container.dragger._y = bottom;
         btn_down_scrolling = false;
      }
   }
   if (bt_scrolling) {
      scrollbar();
   }
   if (scrolling) {
      scrollbar();
   }
};



Copy/Paste --> XML erstellen --> fertig Lächel
  View user's profile Private Nachricht senden Website dieses Benutzers besuchen
l'Audiophile
Threadersteller

Dabei seit: 16.09.2004
Ort: Berlin
Alter: 43
Geschlecht: Männlich
Verfasst Do 15.11.2007 10:40
Titel

Actionscript 3.0 // Bitmaps laden und darauf zeichnen

Antworten mit Zitat Zum Seitenanfang

Hab gerade angefangen in Flex ein rundimentäres Bildbearbeitungsprogramm zu programmieren. Hier als kleines Gimmick und als Anfang eine einfache Klasse, die ein Bild von einer bestimmten URL lädt in eine vordefinierte Umgebung (Arbeitsfläche) platziert.
Auf dieser Arbeitsfläche kann man nun durch den zweiten Teil der Klasse wie wild auf der Grafik rumzeichnen.

Viel Spaß damit.


BitmapDraw.as

Code:

package {

   import flash.display.Sprite;
   import flash.display.MovieClip;
   import flash.events.MouseEvent;
   import flash.display.Loader;
   import flash.display.BitmapData;
   import flash.display.Bitmap;
   import flash.events.Event;
   import flash.net.URLRequest;
   import flash.geom.Matrix;

   public class BitmapDraw extends MovieClip {
      private var _loader:Loader = new Loader();
      private var drawClip:MovieClip;
      //
      public var bitmapLocation:String = "images/image.jpg";
      public var bitmapXpos:Number = 50;
      public var bitmapYpos:Number = 50;
      public var penColor:Number = 0x00FFFF;
      public var penThickness:Number = 3;
      public var penStyle:String = "Round";
      //
      public function BitmapDraw() {
         _loader.contentLoaderInfo.addEventListener(Event.COMPLETE, onComplete);
         _loader.load(new URLRequest(bitmapLocation));
      }
      //
      private function onComplete(event:Event):void {
         var loadedImage:Bitmap = Bitmap(_loader.content);
         var bitmap:BitmapData = new BitmapData(loadedImage.width, loadedImage.height, false, 0xffffffff);
         bitmap.draw(loadedImage, new Matrix());
         var image:Bitmap = new Bitmap(bitmap);
         image.x = bitmapXpos;
         image.y = bitmapYpos;
         addChild(image);
         drawLines(loadedImage.width, loadedImage.height);
      }
      //
      private function drawLines(pWidth:Number, pHeight:Number):void {
         drawClip=new MovieClip();
         addChild(drawClip);
         drawClip.graphics.beginFill(0x000000, 0.0);
         drawClip.graphics.drawRect(bitmapXpos,bitmapYpos,pWidth,pHeight);
         drawClip.graphics.endFill();
         drawClip.addEventListener(MouseEvent.MOUSE_DOWN,onMouseDown);
         drawClip.addEventListener(MouseEvent.MOUSE_UP,onMouseUp);
      }
      //
      private function onMouseDown(event:MouseEvent):void {
         drawClip.graphics.lineStyle(penThickness,penColor,1, false, "normal",penStyle);
         drawClip.graphics.moveTo(mouseX,mouseY);
         drawClip.addEventListener(MouseEvent.MOUSE_MOVE,onMouseMove);
      }
      //
      private function onMouseUp(event:MouseEvent):void {
         drawClip.removeEventListener(MouseEvent.MOUSE_MOVE,onMouseMove);
      }
      //
      private function onMouseMove(event:MouseEvent):void {
         drawClip.graphics.lineTo(mouseX,mouseY);
      }
   }
}



Zuletzt bearbeitet von l'Audiophile am Do 15.11.2007 10:53, insgesamt 1-mal bearbeitet
  View user's profile Private Nachricht senden Website dieses Benutzers besuchen
l'Audiophile
Threadersteller

Dabei seit: 16.09.2004
Ort: Berlin
Alter: 43
Geschlecht: Männlich
Verfasst Do 21.02.2008 10:42
Titel

Actionscript 3.0 // JavaScript 2

Antworten mit Zitat Zum Seitenanfang

Damat sich hier mal was tut Meine Güte!



Actionscript 3.0 // „JavaScript 2” // Drag and Drop


Auch in Actionscript ohne weiteres möglich –eine simple drag-and-drop-Klasse


DragAndDrop.as


Code:

package {
   
   import flash.display.MovieClip;
   import flash.events.MouseEvent;
   
   public class DragAndDrop extends MovieClip {
      
      public function DragAndDrop () {
         addEventListener(MouseEvent.MOUSE_DOWN, onPress);
         addEventListener(MouseEvent.MOUSE_UP, onRelease);
      }
      
      private function onPress (event:MouseEvent) {
         startDrag();
      }

      private function onRelease (event:MouseEvent) {
         stopDrag();
      }      
      
      
   }
   
}



Das war es auch schon. * Keine Ahnung... *


Zuletzt bearbeitet von l'Audiophile am Do 21.02.2008 10:44, insgesamt 1-mal bearbeitet
  View user's profile Private Nachricht senden Website dieses Benutzers besuchen
Pixelpole

Dabei seit: 25.10.2004
Ort: Trier
Alter: 37
Geschlecht: Männlich
Verfasst Fr 29.02.2008 21:08
Titel

Antworten mit Zitat Zum Seitenanfang

bereits in einem anderen Thread gepostet. Eine kleine php Klasse zum resizen von Bildern: klick

Damals in php4 geschrieben. Hab se jetzt mal für php5 modifiziert, läuft da aber ebenfalls 1A.

Beispielimplementierung steht drunter.

Und dazu noch eine INI Datei in der dei Fehlermeldungen die die Klasse ausgibt gespeichert werden:
Code:

;;;;;;;;;;;;;;;;;;
;;ERROR_MESSAGES;;
;;;;;;;;;;;;;;;;;;

[image_resizer]
1 = die angegebene Datei existiert nicht
2 = der Dateityp wird nicht unterstützt
3 = Diese Datei ist keine gültige Bilddatei
4 = Die Datei ist zu groß


Würde ich heute zwar komplett anders aufbauen aber ich denke der eine oder andere kann sie unter Umständen vielleicht gebrauchen. Ausserdem ists schade so eine schöne idee wie die Codeschnipselecke verkommen zu lassen Lächel


Zuletzt bearbeitet von Pixelpole am Fr 29.02.2008 21:08, insgesamt 1-mal bearbeitet
  View user's profile Private Nachricht senden
Pixelpole

Dabei seit: 25.10.2004
Ort: Trier
Alter: 37
Geschlecht: Männlich
Verfasst Do 27.03.2008 14:52
Titel

Antworten mit Zitat Zum Seitenanfang

und noch eine kleinigkeit von mir: das ganze ist ein kleines paket zum erstellen eines html kalenders.

das ganze basiert auf einer abstrakten klasse für die man sich nur noch eine html ausgabe schreiben muss. Validierung von Datumsangaben usw. erledigt das ding selbst. eine Beispielimplementierung ist dabei. siehe example.php.

das ganze basiert vollständig auf php ist also auch geeignet als fallback lösung wenn man einen javascriptkalender verwendet.

Zu beachten ist das dem ganzen noch ein Datumsobjekt im Konstruktor übergeben werden muss. Siehe Beispiel.

download
  View user's profile Private Nachricht senden
 
Ähnliche Themen [Kommentare & Fragen] MGI-Codeschnipsel-Ecke
[Flash] Codeschnipsel gesucht
[JavaScript] Codeschnipsel fehlendes Semikolon
javascript-codeschnipsel interpretieren [inside]
Copyright auf Scripte?
CGI Scripte lokal testen
Neues Thema eröffnen   Neue Antwort erstellen Seite: 1, 2, 3, 4  Weiter
MGi Foren-Übersicht -> Programmierung


Du kannst keine Beiträge in dieses Forum schreiben.
Du kannst auf Beiträge in diesem Forum nicht antworten.
Du kannst an Umfragen in diesem Forum nicht mitmachen.