佳礼资讯网

 找回密码
 注册

ADVERTISEMENT

查看: 949|回复: 4

USE FLASH TO PLOT GRAPH

[复制链接]
smiley_ahse 该用户已被删除
发表于 20-3-2006 06:19 PM | 显示全部楼层 |阅读模式
嗨各位,我想请教一件事。

我在弄着SIMULATION,这SIMULATION是要让用户输入6个资料,然后SYSTEM就GENERATE GRAPH.
打个比方,Y AXIS是容量,X AXIS是温度。用户输入6个温度,系统就会开始计算该温度的容量。然后就generate a graph.

我真的没头绪,希望各位帮帮忙。。 谢谢!!
回复

使用道具 举报


ADVERTISEMENT

发表于 21-3-2006 12:17 AM | 显示全部楼层
寬度自己定義,距離自己定義,高度就是單一容量/總容量以取得比例
回复

使用道具 举报

smiley_ahse 该用户已被删除
 楼主| 发表于 21-3-2006 04:05 PM | 显示全部楼层
不好意思,我在AS,还是个新手,可否解释清楚一些?想请问有没有关于此方面的cording?想参考参考一下。
回复

使用道具 举报

发表于 22-3-2006 05:54 AM | 显示全部楼层
MovieClip.prototype.createTextArea = function(x:Number, y:Number, lbl:String, txt:Number, depth:Number) {
        var mc:MovieClip = this.createEmptyMovieClip("textArea"+depth, depth);
        mc._x = x;
        mc._y = y;
        mc.createTextField("label", 0, 0, 0, 0, 0);
        mc.label.text = lbl;
        mc.label.autoSize = true;
        mc.createTextField("txt", 1, mc.label._width+5, 0, 50, 20);
        mc.txt.text = txt;
        mc.txt.type = "input";
        mc.txt.border = true;
        mc.txt.onChanged = function(target:TextField) {
                this._parent._parent.init();
        };
}

MovieClip.prototype.drawBar = function(x:Number, y:Number, w:Number, h:Number, c:Number) {
        var depth:Number = this.getNextHighestDepth();
        var mc:MovieClip = this.createEmptyMovieClip("bar"+depth, depth);
        with(mc) {
                lineStyle(1);
                beginFill(c);
                moveTo(x, y);
                lineTo(x, y-h);
                lineTo(x+w, y-h);
                lineTo(x+w, y);
                endFill();
        }
}

getTotal = function() {
        var totalHeight:Number = 0;
        for(var i=0; i<barInit; i++) {
                totalHeight += int(this["textArea"+i].txt.text);
        }
        return totalHeight;
}

init = function() {
        var barChart:MovieClip = this.createEmptyMovieClip("barChart", 100);
        barChart._x = graphPos[0];
        barChart._y = graphPos[1];
        for(var i=0; i<barInit; i++) {
                var rate:Number = this["textArea"+i].txt.text / getTotal();
                var h:Number = rate * graphHeight;
                barChart.drawBar((i * 30), 0, 20, h, 0xFF99CC);
        }
}

var barInit:Number = 3;
var labelPos:Array = new Array(50, 20);
var graphPos:Array = new Array(50, 300);
var graphHeight:Number = 200;
for(var i:Number=0; i<barInit; i++) {
        var rand:Number = Math.round(Math.random(300)*1000);
        this.createTextArea(labelPos[0], (i * 30)+labelPos[1], 'Bar'+(i+1)+' : ', rand, i);
}
init();


沒什麽時間,隨便寫了個例子。自己參考init中的計算吧...

打開一個新文件,把以上代碼貼在第一个frame就可以了
回复

使用道具 举报

smiley_ahse 该用户已被删除
 楼主| 发表于 22-3-2006 08:39 PM | 显示全部楼层
thanks a lot!!
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

 

ADVERTISEMENT



ADVERTISEMENT



ADVERTISEMENT

ADVERTISEMENT


版权所有 © 1996-2023 Cari Internet Sdn Bhd (483575-W)|IPSERVERONE 提供云主机|广告刊登|关于我们|私隐权|免控|投诉|联络|脸书|佳礼资讯网

GMT+8, 22-9-2024 05:44 AM , Processed in 0.093385 second(s), 25 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表