2
\$\begingroup\$

I'm trying to add a new element to the HUD, it's supposed to be a compass that should function like a minimap.

I've added this code to the main hud.swf:

var DcompassContainer:MovieClip = this.createEmptyMovieClip("DcompassContainer", this.getNextHighestDepth());
DcompassContainer._x = 280;
DcompassContainer._y = 8;
DcompassContainer.loadMovie("udk_compass.swf");

So far all is good, this is the information on the main MovieClip in Flash:

name directional
instence name directional
identifier directional
class com.scaleform.directional

In the class file:

import flash.external.ExternalInterface;
import gfx.core.UIComponent;

class com.scaleform.directional extends UIComponent {
    // The entities, layers and controls of the minimap
    public var directionshow:MovieClip;

    public function directional() {
        //
    }   

    public function configUI():Void {   
        // Register compass values with the app
        //
        // Params: 
        //          compass movieclip (this),
        //
        ExternalInterface.call("registerDcompassView", this);
    }   
}

In the GFxMinimapHud.uc I've added this code:

function registerDcompassView(GFxDcompass dc)
{
    GetPC().ClientMessage("DCopmass Registered");
    Dcompass = dc;
    Dcompass.Init(self);
    Dcompass.SetVisible(false);
    Dcompass.SetFloat("_xscale", 85);
    Dcompass.SetFloat("_yscale", 85);
}

After adding all SWFs to the content browser and running the game the SWF does appear on the screen, but the code is not working, I'm not getting the ClientMessage.

\$\endgroup\$
1

0

Browse other questions tagged .