Okay... That's your're final answer i bet :-)
Originaly i was asking if there was a way to do this, not if swfmill *was* like the flash IDE, or if what i wanted to achieve was present since flash 8 or what. So please readers, don't consider this as *the* answer, if someone has another guess i'm interested. And since i read just here: http://www.osflash.org/pipermail/swfmill_osflash.org/2005-October/000264 that there is a version which is supposed to handle a "bitmap" importing with direct linkage function, i'm really exited to know if it was true or not :-)

Now just for those who needs the function, attached is a very simple class which handles bitmap loading. Each time you ask for a bitmap it is loaded but *NOT* unloaded. So when you ask for the same bitmap twice, it is much more faster to get it if it was cached to memory. Be careful thought, it *can* consume a lot of memory if you misstake with the cache parametter. It can be used like this: CBitmapManager.GetBitmap("bmpPipo"); // Loads the bitmap named "bmpPipo" and cache it for later calls. CBitmapManager.GetBitmap("bmpPipo", false); // Loads the bitmap named "bmpPipo" but doesn't "cache" it.

import    flash.display.BitmapData;
// The simple Bitmap Loader class. Handles caching of requested bitmaps.
class com.CreativeHazard.UI.CBitmapManager {
// Set to true if you compile with the Macromedia's compiler.
   private static var    REAL_MM_FLASH    :Boolean            = false;
// A simple array which will hold "cached" bitmaps.
   private var            alLoaded        :Array                = null;
   // The current singleton instance.
private static var cInstance :CBitmapManager = new CBitmapManager(); // Main constructor, which is private to avoid external instanciation.
   private function CBitmapManager() {
       alLoaded    = new Array();
   }
// Returns a requested Bitmap from it's "linkage" ID. If bCache isn't given, it's defaulted to true. public static function GetBitmap(szID:String, bCache:Boolean) :BitmapData {
       // Look up for an existing version of the bitmap in the cache array.
       if (cInstance.alLoaded[szID]!=undefined)
           return cInstance.alLoaded[szID];
// Default the caching parametter.
       if (bCache==undefined)
           bCache    = true;
var cToRet :BitmapData;
       // If compiling with MM, just load the bitmap from it's linkage ID.
       if (REAL_MM_FLASH) {
           cToRet        = BitmapData.loadBitmap(szID);
           // The given linkage ID was wrong. Stop here.
           if (cToRet==undefined)
               return undefined;
       }
// If compiling with MTASC, the bitmap linkage ID doesn't exist.
       // SWFMill has put the bitmap in a container with the linkage ID.
       else {
           // Load the container.
var mcLoader :MovieClip = _root.attachMovie(szID, "mcLoader", _root.getNextHighestDepth());
           // If undefined, the
           if (mcLoader==undefined)
               return undefined;
           // Initialize the bitmap planes depending on the loaded MC size.
cToRet = new BitmapData(mcLoader._width, mcLoader._height, true, 0x0);
           // Draw the loaded MC into our bitmap planes.
           cToRet.draw(mcLoader);
           // Remove the loaded MC from the stage.
           mcLoader.removeMovieClip();
       }
       // If the caching argument was true, store the result.
       if (bCache)
           cInstance.alLoaded[szID]    = cToRet;
       // All done!
       return cToRet;
   }
// Internal singleton method. Just returns the existing instance or Instanciate it.
   private static function GetInstance()    :CBitmapManager {
       return cInstance;
   }
}

Anyway thanks for your help. Luke, do you know about the 2 other questions (Font smoothing, project maintenance)?

Friendly regards, and good big mega hyper luck with the project...
Pierre.
P.S.: Do you actually need additionnal developpers on this project, or is your team "full" yet? Just to know ;-)

Luke Schreur wrote:
While in the MMFlash IDE, when i place a picture in the library
and assign it a "linkage" name, it is then accessible directly
with this name.

Well, swfmill isn't the Flash IDE. Also, this feature only exists in the
Flash IDE since version 8.

That's kind of dirty

There is nothing dirty about it. It is just the way it works :)


-----Original Message-----
From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED]
On Behalf Of MARTIN Pierre
Sent: Tuesday, 18 July 2006 11:44
To: swfmill@osflash.org
Subject: Re: [swfmill] (flash8) add linkage to jpg/png directly -
*STILL* possible ? + Fonts (Text version of previous post)

Well, it's almost this  :-)

Actually, my library looks like this (don't mind the "bitmap-id" stuff, it's only some late testing):
<?xml version="1.0" encoding="iso-8859-1" ?>
<movie version="9" width="640" height="480" framerate="31">
    <background color="#646464"/>
        <library>
            <frame>
<clip id="imgPanelB" bitmap-id="imgPanelB" import="library/Artwork/Bottom.png"/> <clip id="imgPanelT" bitmap-id="imgPanelT" import="library/Artwork/Top.png"/> <clip id="imgPanelL" bitmap-id="imgPanelL" import="library/Artwork/Left.png"/> <clip id="imgPanelR" bitmap-id="imgPanelR" import="library/Artwork/Right.png"/> <clip id="imgPanelBL" bitmap-id="imgPanelBL" import="library/Artwork/BottomLeft.png"/> <clip id="imgPanelBR" bitmap-id="imgPanelBR" import="library/Artwork/BottomRight.png"/> <clip id="imgPanelTL" bitmap-id="imgPanelTL" import="library/Artwork/TopLeft.png"/> <clip id="imgPanelTR" bitmap-id="imgPanelTR" import="library/Artwork/TopRight.png"/> <clip id="imgPanelTR" bitmap-id="imgPanelTR" import="library/Artwork/TopRight.png"/> <clip id="imgPanelRH" bitmap-id="imgPanelRH" import="library/Artwork/ResizeHandle.png"/> <font id="Fnt_Generic_10" import="library/Artwork/Arial.ttf"/>
            </frame>
        </library>
</movie>

While in the MMFlash IDE, when i place a picture in the library and assign it a "linkage" name, it is then accessible directly with this name. Eg: Bitmap.loadBitmap("linkage_name"). The problem with my SWFMill

is that the bitmap is put *in* a movieclip, which name is the specified linkage ID. So my flash workaround is what you told, loading the MC first, then getting the bitmap. That's kind of dirty, and since i want my sources to be compilable either from MMFlash and mtasc + swfmill, i had to code this:
    private function GetBitmap(szID:String)    :BitmapData {
        if (CClientGameEngine.REALMMCFLASH) {
            return BitmapData.loadBitmap(szID);
        } else {
            var    mcLoader    :MovieClip    = _root["mcLoader"];
mcLoader = _root.attachMovie(szID, "mcLoader", _root.getNextHighestDepth()); var bitLoad :BitmapData = new BitmapData(mcLoader._width, mcLoader._height, true, 0x0);
            bitLoad.draw(mcLoader);
            mcLoader.removeMovieClip();
            return bitLoad;
        }
    }

What i want to achieve is to really have the bitmap "named" with the linkage string, exactly like it would be in MMCFlash...

Well, anyway thanks for your answer. Hope you will have another idea :-)

Pierre

Luke Schreur wrote:
I hope this is what you are trying to do. In the first frame you
create
your library (similar to Flash's export in first frame). Then you
import
a bitmap into your library. Then you place the bitmap inside a library
movieclip. Now you can attach the movieclip to the stage or whatever.
I
did this from the top of my head so there could be typos:

<?xml version="1.0" encoding="iso-8859-1" ?>
<movie width="320" height="240" framerate="12">
        <background color="#ffffff"/>

        <frame>
                <library>
                                <clip id="foo"
import="library/foo.jpg"/>
                                <clip id="FooClip">
                                        <place id="foo"
name="myFooInstance" x="10" y="10" depth="1" />
                                </clip>
                </library>
        </frame>
</movie>

In AS2.0

attachMovie("FooClip", "myFooClip", 0);

Hope this helps...

-----Original Message-----
From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED]
On Behalf Of MARTIN Pierre
Sent: Tuesday, 18 July 2006 10:48
To: swfmill@osflash.org
Subject: [swfmill] (flash8) add linkage to jpg/png directly - *STILL*
possible ? + Fonts (Text version of previous post)

Sorry, last post seemt to be a bit tricky to read because of my HTML formating... Here is a text version so everybody will be able to read
it
in the archive.


------------------------------------------------------------------------
--------

Hello list people,

I'm trying to understand the how to use SWFMill to use bitmaps in my movieclips, accessed from AS2 only. I have tried a lot of workarounds, and have currently one which works with the SWFMill "bug" (Which attach the bitmap within a container).

Recently, i have found this post:

http://www.osflash.org/pipermail/swfmill_osflash.org/2005-October/000264
.html
and so have tried to make the attached 0.2.11.1 version to work the
way
i want.
Anyway, and after a ton of tests, i can't manage it to attach my
bitmap
the proper way.

So my question is, is it a solved issue? Have i to keep my movieclip-container-size-detection-loadbitmap-tricky workaround?

Another question, very simple. Is it possible to avoid the "smooth" effect when using SWFMill imported fonts? For instance, if i want to
get
an embeded version of the "Arial" (Some of windows default fonts) size

10 in my SWF, what is the trick to avoid antialiasing?

Last question, because the online "official" version is still the 0.2.11, and because i only have found the 0.2.11.1 version with a luck

on the mailing list, i really appreciate if someone can tell me where
to
get latest versions. If this developpement is dead, is Dan now
involved
in another, more recent, similar project i can use? I know a bit about

HAXE, but it seems very unstable and "fragile", and i really wish to keep my FLAME set up as it is now...

Anyway, thanks a lot for any kind of answer.
Friend regards,
Pierre.
P.S.: Please excuse my poor english. BTW i'm french and the french
lack
of documentation really hurts ;-)

_______________________________________________
swfmill mailing list
swfmill@osflash.org
http://osflash.org/mailman/listinfo/swfmill_osflash.org


_______________________________________________
swfmill mailing list
swfmill@osflash.org
http://osflash.org/mailman/listinfo/swfmill_osflash.org

begin:vcard
fn:MARTIN Pierre
n:MARTIN;Pierre
org:Creative Hazard
adr:;;17 rue de Verdun;Nontron;Dordogne;24300;France
email;internet:[EMAIL PROTECTED]
tel;home:+33 5 53 56 18 36
x-mozilla-html:TRUE
url:http://www.CreativeHazard.com
version:2.1
end:vcard

Attachment: smime.p7s
Description: S/MIME Cryptographic Signature

_______________________________________________
swfmill mailing list
swfmill@osflash.org
http://osflash.org/mailman/listinfo/swfmill_osflash.org

Reply via email to