Flash 在AS3和AIR中创建文档类

Flash 在AS3和AIR中创建文档类,flash,class,air,document,Flash,Class,Air,Document,基本上,我正在开发一个最终将作为AIR应用程序部署到桌面上的应用程序 我想创建一个模拟时钟和数字时钟与按钮,切换显示之间的任何一个按下。除此之外,我还想在下面显示日期,但我有一些问题 我已经为四个组件中的三个组件分类了代码,我还没有尝试找出按钮,因为我非常乐意让数字时钟、模拟时钟和日期都首先显示在拖放桌面应用程序上。当我说我已经把它分类,我有一个完全工作的模拟时钟,我已经设法通过它的孤独的空气显示在桌面上,但是,我没有包括拖放功能。对于数字时钟和日期组件,我不确定如何将它们配置为文档类。我遇到的

基本上,我正在开发一个最终将作为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”。 基本上,我只是在努力将这段代码放入一个工作文档类中,因为数字时钟和日期函数都是类似的,我觉得解决一个问题的方法很可能会让我发现解决另一个问题的方法

另一个问题是,我不知道如何在一个air应用程序上显示所有组件。我假设您创建了另一个文档类文件,将其他四个文档类文件链接在一起?我试图通过将一个新的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个移动指针的电影剪辑,时钟面是一个图形,我可能需要在下面引用)

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


非常感谢您在这方面提供的任何帮助,我已经通过教程等阅读了很多相关内容,但我似乎无法完全掌握它。

我已经为电影剪辑和电影剪辑中的动态文本框提供了实例名
date\u text

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


这应该能解决你的第一个问题

此外,将所有阶段实例放在第一个框架上,以避免各种问题,例如必须使用父变量或全局变量。直接从文档类访问符号。我最近在文档类和FlashCS6方面遇到了困难,我发现这非常有效。
 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;
    }
}

 }