在AS3和AIR中创建文档类

时间:2013-01-04 16:59:17

标签: flash class air document

基本上,我正在开发一个最终将作为AIR应用程序部署到桌面的应用程序。

我想要创建一个模拟时钟和数字时钟,其按钮可以在按下任何一个按钮时切换显示。除此之外,我想要显示下面的日期,但是我遇到了很多问题。

我将代码排序为四个组件中的三个,到目前为止我还没有尝试找出按钮,因为我非常乐意让数字时钟,模拟时钟和日期全部显示在拖动和首先删除桌面应用程序当我说我有它排序时,我有一个完全工作的模拟时钟,我已经设法通过它的寂寞空气显示在桌面上,但是,我没有包括拖放功能。对于数字时钟和日期组件,我不知道如何将它们配置为文档类。我遇到的主要问题是我不知道你是否可以将影片剪辑中的动态文本框引用到文档类。

这是显示日期的代码

{
var currentTime:Date = new Date();
var month:Array = new Array("January","February","March","April","May","June","July","August","September","October","November","December");
var dayOfWeek:Array = new Array("Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday");
date_text.text = dayOfWeek[currentTime.getDay()] + " " + currentTime.getDate() + " " + month[currentTime.getMonth()] + " " + currentTime.getFullYear();
}

我已将actionscript框放在影片剪辑文件中,并且我已将影片剪辑和影片剪辑中的动态文本框同时提供实例名称“date_text”。 基本上,我只是在努力将这些代码放入工作文档类中,因为数字时钟和日期函数都是,有些类似,我觉得解决方案很可能会导致我发现解决方案其他

我遇到的另一个问题是,我不知道我将如何在一个空中应用程序上显示所有组件。我假设你创建了另一个文档类文件,将其他四个文件链接在一起?我试图通过链接一个新的FLA文件和模拟时钟来做到这一点,但它不起作用。代码如下。

 package
{
import flash.events.Event;
import flash.display.MovieClip;

public class time1 extends MovieClip
{

    public var now:Date;
    public function time1()
    {
        // Update screen every frame
        addEventListener(Event.ENTER_FRAME,enterFrameHandler);
    }
    // Event Handling:

    function enterFrameHandler(event:Event):void
    {
        now = new Date();

        // Rotate clock hands
        hourHand_mc.rotation = now.getHours()*30+(now.getMinutes()/2);
        minuteHand_mc.rotation = now.getMinutes()*6+(now.getSeconds()/10);
        secondHand_mc.rotation = now.getSeconds()*6;
    }
}
 }

这是原始的时钟文档类(移动指针的3个电影剪辑,时钟面是图形,我可能需要在下面以某种方式引用)?

 package 
 {

import flash.display.MovieClip;


public class main extends MovieClip
{
    public var hourHand_mc:time1;
    public var minuteHand_mc:time1;
    public var secondHand_mc:time1;



    public function main()
    {
        hourHand_mc = new SecondHand();
        addChild(mySecondHand);
        hourHand_mc.x = 75;
        hourHand_mc.y = 75;
        minuteHand_mc = new SecondHand();
        addChild(mySecondHand);
        minuteHand_mc.x = 75;
        minuteHand_mc.y = 75;
        secondHand_mc = new SecondHand();
        addChild(mySecondHand);
        secondHand.x = 75;
        secondHand.y = 75;
    }
}

 }

这是我尝试在单独的FLA文件中创建主文档类以尝试加载模拟时钟,稍后在同一AIR应用程序中的数字时钟,日期函数和切换显示按钮。

对此有任何帮助非常感谢,我已经通过教程等阅读了很多内容,但我似乎无法完全掌握它。

1 个答案:

答案 0 :(得分:0)

我已经为影片剪辑和影片剪辑中的动态文本框提供了实例名称date_text

请使用单独的名称命名影片剪辑,然后使用它来引用其中的文本字段。例如,您可以将影片剪辑符号命名为date_text_MC,然后使用date_text_MC.date_text引用文本字段(注意点运算符)

那应该解决你的第一个问题。