0

基本上,我正在开发一个最终将作为 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();
}

我已将动作脚本框架放入影片剪辑文件中,并为影片剪辑和影片剪辑中的动态文本框指定了实例名称“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 应用程序中加载数字时钟、日期功能和切换显示按钮。

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

4

1 回答 1

0

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

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

那应该可以解决您的第一个问题。

于 2013-04-27T09:42:37.797 回答