CSK.Blog--个人原创Weblog

Timeline

有很多事情要交待~

首先是推荐老弟的新作:Angel Fall (Original Mix)。本Blog的周二进站音乐便是这首。不错的

明天就要真正意义上结束这个暑假开学了,其实对我来说只是休息了1周又重新上课...CS本学期在8.5号就开学了...回想一周前还是满脑子飞的EZ-UML、答辩、头脑秀逗得老师、GeneralLinkableXXXXX(为了保护小组各成员不至于再度发疯,部分字符已用XXX表示),这学期真的算不了什么。

下面是我最想说的

Flash Website v2

项目开工:2005.7.10

起因:我对我自己Flash网站v1的强烈不满

过程:想出了个ReformCore概念,设计了新的logo,弄来了嵌入式编译器

目的:制作更漂亮、更人性化、更加符合我审美的新Flash网站(后期加上的目标:符合web2.1)

结果:由于当时暑假考驾照,网站把ReformUI的雏形完毕即告流产

复工:2006.1.x

原因:放寒假了,没事可做

过程:完善ReformUI

结果:由于每天要赶早去徐汇上GRE,同时PRP项目在身,项目搁浅

复工x2:2006.7

原因:实在看不下这个难产的项目了+原先的设计不符合当前审美

过程:重新设计界面+开始写主要构架

结果:主要构架完成,但明天要开学了...

项目截至今天已经超过一年的建设时间了...天哪~

为了逼自己去完成这个项目,现把一些内部代码资料公布...

我不做解释,大家看情况理解吧~

mainsite.obj_main.AddBlock("test");

CreateWindow("GraphWin",40,50,true,Script_win);
GraphWin.SetClientSize(300,300);
GraphWin.SetWindowText("DoModal测试");

CreateUIHost(this,"obj",33);
obj.SetHostSize(1440,1000);
obj.StretchPic(false);
obj.CompleteLook(false);
obj.ShowBorder(false);
obj.LoadObject("http://www.csksoft.net/data/dawnofReform.jpg");

CreateWindow("OldSiteWin");
OldSiteWin.SetWindowText("以前的Flash网站-CSKSOFT WEBSITE v1 All right reserved");
OldSiteWin.SetWindowSize(753,580);
OldSiteWin.Attach("/fla/main.swf",true);


CreateWindow("win2");
win2.SetWindowText("PicWindow");
win2.SetWindowSize(500,350);
win2.Attach("http://www.csksoft.net/data/dawnofReform.jpg",true);
win2.container.objhost.SetLinkURL("http://www.csksoft.net/data/dawnofReform.jpg");

CreateWindow("rwin");
rwin.SetWindowText("外部组件调用");
rwin.SetClientSize(250,150);
rwin.Attach("fla/load_test.swf",true);

CreateUIHost(this,"obj",33);
obj.SetHostSize(250,150);
obj.LoadObject("fla/load_tedst.swf");

i=100;
t = setInterval(script, 10,
 "if (i<=0) {clearInterval(t); t = undefined;}msgout(i);i--;",
 this);

dwColor =  0x1a67f4;
CreateWindow("GraphWin",50,50);
GraphWin.SetClientSize(50,50);
GraphWin.container.beginFill(dwColor,0xFF);
GraphWin.container.moveTo(10, 10);
GraphWin.container.lineTo(10, 40);
GraphWin.container.lineTo(40, 40);
GraphWin.container.lineTo(40, 10);
GraphWin.container.lineTo(10, 10);
GraphWin.container.endFill();

CreateWindow("GraphWin",40,50);
GraphWin.SetClientSize(300,300);
GraphWin.SetWindowText("绘图窗口");


GraphWin.container.createEmptyMovieClip("graph",2);
with (GraphWin.container.graph) {
    lineStyle (0, 0xFF0000, 100);
    for (x = -5; x<5; x+=0.2) {
         y= Math.sin(x)*30;
         if (x==-5)
         {
           moveTo(x*30+150,150-y);
         }
         else
         {
           lineTo (x*30+150,150-y);
         }
    }
}

 

t = setInterval(script, 500,
 "today_date = new Date();msgcls();msgout(today_date.toString());",
 this);

CreateTween(Script_win,"_x","elastic.easein",10,400,50,100);

var sXML;

sXML=XML_CreateRPCRequest("GetBlogConfig",Array("bIsMiniMode","strToken"),Array("false",GLOBAL_strTokenID));

sXML.send("/sitecmd.asp","_blank");


var myObj;
myObj = new Object();
myObj.item1 = "aaa";
myObj.attributes=new Object();
myObj.attributes.id=3;
myObj.value = "ddd";
myObj.node = new Object();
myObj.node.value="ccc";
var myxml;
myxml = new XML("");
ConstructXmlSubTree(myxml,"ss",myObj,myxml);
msgout(myxml);

//XWindow   //ReformUI.XWindow
  SetWindowSize(nWidth:Number, nHeight:Number);
  SetClientSize(nWidth:Number, nHeight:Number);
  SetWindowText(sTitle:String);
  GetWindowText():String;
  SetWindowFocus();
  GetListID():Number;
  Attach(strObjID:String, bIsFromURL:Boolean):Boolean;
  OnClose(); //CallBack
  Destroy():Boolean; //return false if refused by OnClose();
  ExpendWindow(bExpend:Boolean);
  GetWindowState(nStateID:Number);  
        //nStateID=1 :IsTransAble
 //nStateID=0 :IsExpend
  AlphaBlendWindow(bAlpha:Boolean);
  //---------------------------------------------------members
    TitleBar //ReformUI.XWindow.TilteBar
    container //ReformUI.XWindow.Container
                 var bIsObjFromURL:Boolean;
                 var bIsContained:Boolean;
                 generalObj,objhost
                 SetObj(strObjID:String,bIsFromURL:Boolean):Boolean
                 DestroyAll();
                
    BottomBarA //ReformUI.XWindow.BottomBar
    var nWindowID:Number;
    var strHostID:String;
    var nWindowHeight:Number;
    var nWindowWidth:Number;
    var bIsWindowExpend:Boolean;
    var fInterval;
  //----------------------------------------------------ReleatedAPI
    GetTopLevelWindowID():Number;
    GetWindowTopLevel():Number;
    CloseAllWindow();
    CreateWindow(strWindowID:String, nX:Number, nY:Number , bIsDoModal:Boolean , objParent);
    XWindowList:Array;
    var nXWinBoundWidth:Number,nXWinBoundHeight:Number;
    GetXWinBoundBox():Array;
    SetXWinBoundBox(nWidth:Number,nHeight:Number);

//UIHost    //RefromUI.UIhost
   LoadObject(sURL:String,bIsRes:Boolean);
   IsObjLoaded():Boolean;
   LoadPrecent():Number;
   GetObjSize():Number;
   StretchPic(bIsStretch:Boolean);
   GetObjVersion():Number;
   CustomFunction(FuncName:String, Arg1, Arg2);  //var CustomResult
   SetHostSize(nWidth:Number, nHeight:Number);
   SetHostIDTitle(strTitle:String);
   SetLinkURL(sURL:String);
   ShowBorder(bIsShow:Boolean);
   ShowDataInfo(bIsShow:Boolean);
   CompleteLook(bIsShow:Boolean);
   EnableClick(bEnable:Boolean);
   Destroy();
  //Events
   OnClick(); return false when cancel
   OnLoadComplete();
  //---------------------------------------------------members
    var HostWidth:Number, HostHeight:Number;
    var IsContendObj:Boolean;
    var ObjURL:String;
    var HostIDName:String;
    var ObjVersion:Number;
    var LinkURL:String;
    var IsShowBorder:Boolean;
    var bIsSretchPic:Boolean;
    var CustomArg1, CustomArg2, CustomResult;
    objcontainer
  //----------------------------------------------------ReleatedAPI
    CreateUIHost(strParentID:String, strHostID:String, nLevel:Number, nX:Number, nY:Number)

//TxtHolder     //ReformUI.TxtHolder
   SetSize(nWidth:Number, nHeight:Number);
   GetSize():Array;
   EnableScrollBar(bEnabled:Boolean);
   EnableEditable(bEnabled:Boolean);
   UpdateLayout();
   EnableWordWrap(bEnabled:Boolean);
/////////////////////////////////
//Not complete yet!
   LoadTxt(strURL:String, bIsHtml:Boolean, nPostMethod:Number);
//////////////////////////////////
   SetText(strT:String, bIsHtml:Boolean);
   GetText(bNeedSrc:Boolean):String;
   UpdateScrollBar();
   ClearText();
   Destroy();
  //---------------------------------------------------members
     var nSelfHeight:Number, nSelfWidth:Number;
     var bIsEnableScrollBar:Boolean;
     var bIsEnableWordwrap:Boolean;
     hbar,scrollbar;
  //----------------------------------------------------ReleatedAPI
     CreateTxtHolder(strParentID:String, strHolderID:String, nLevel:Number, nX:Number, nY:Number);

//ScrollBar   //ReformUI.ScrollBar
   UpdateBar();
   SetStepLength(nStep:Number);
   GetStepLength():Number;
   SetBarLength(nHeight:Number);  //def=100;
   GetBarLength():Number;
   SetRange(nMaxPos:Number); //startup with 100
   GetRange():Number;
   OnPosChange(nPos); //CallBack,return false for undo
   SetPos(nPos:Number);
   GetPos():Number;
   Destroy();
  //---------------------------------------------------members
     var nCurrentPos:Number;
     var nStepLength:Number;
     var nMax:Number;
     var nSelfHeight:Number, nDragLength:Number;
     var fInterval;
     var bIsStartDrag:Boolean;
  //----------------------------------------------------ReleatedAPI
    CreateScrollBar(strParentID:String, strBarID:String, nLevel:Number, nX:Number, nY:Number);

//progressBar    //ReformUI.progressBar
   SetPos(Pos:Number);
   GetPos():Number;
   Destroy();
  //---------------------------------------------------members
     var nPos:Number = 0;
  //----------------------------------------------------ReleatedAPI
     CreateProgressBar(strParentID:String, strBarID:String, nLevel:Number, nX:Number, nY:Number);

//LoadUI.MainLogo  //reformUI.LoadUI.MainLogo
   OnCancel=function() //CallBack
   OnRetry=function() //CallBack
   SetLoadCnt(ObjCnt);
   SetTitle(StrTxt:String);
   ShowCancelBtn(bShow:Boolean);
   SetFailedFlag(bShow:Boolean);
   Destroy();
  //-----------------------------------------------------ReleatedAPI
      CreateLoadUI(strParentID:String, strLogoID:String, nLevel:Number, nX:Number, nY:Number,nType:Number);
          //nType:0 for MainLogo

FlatButton   //ReformUI.Button
   SetLabel(strNewLabel:String):String;
   GetLabel():String;
   SetBtnSize(nWidth:Number, nHeight:Number);
   Destroy();
   EnableBtn(bEnable:Boolean):Boolean;
   SetLabelColor(newColor:Color);
   //Event
   OnRollOver;OnRollOut;OnMouseDown;OnMouseUp;OnClick
  //-----------------------------------------------------ReleatedAPI
      CreateButton(strParentID:String, strBtnID:String, nLevel:Number, nX:Number, nY:Number);
dragbar //ReformUI.dragbar
   SetWidth(nWidth:Number):Number;
   UpdateUI();
   SetPos(Pos:Number):Number;
   GetPos():Number;
   SetRange(nMin:Number,nMax:Number):Boolean;
   GetMin():Number;
   GetMax():Number;
   //----var
   Width:Number;
   nPos,nMin,nMax:Number;
   //----events
   UpdateUI,onChange,onDrag(x,total) //use addListener
  //-----------------------------------------------------ReleatedAPI
 CreateDragBar(strParentID:String, strID:String, nLevel:Number, nX:Number, nY:Number);

/*
url tip define:
 SubView=3&subdir...&UUID=

*/

//SiteObjs
obj:mainsite
 addProxyAlignObj(objRef:Object, strAlignType:String):Boolean //strAlignType "l","r","m"
 RemoveProxyAlignObj(objRef:Object):Boolean
 SetWidth(nWidth:Number):Number
 ParseUrlCmd(strCmd:String):Boolean
  events:
 broadcast:OnWidthChg(x:int);

obj:mainsite.obj_main
 SetBlockWidth(size:Number):Boolean
 GetBlockSize(strName:String, nID:Number):MovieClip
 RemoveBlockByID(nID:Number):Boolean
 RemoveBlock(objBlock:Object):Boolean
 OnItemSizeChg(objBlock:Object)
 GetBlockID(objBlock:Object):Number
 Display(strCmd:String):Boolean //cmd:show;hide;distroy
  events:
 broadcast:OnHolderSizeChg(size:int);

 


//End of SiteObjs
var GLOBAL_nDownloadingSpeed:Number; //kb per sec
var GLOBAL_strMainSwfURL:String;
var GLOBAL_strTokenID:String;
//BAISC
     parseBoolean(string:String) :Boolean
//API
   //Site Config Var:
     var strSiteInfo_Title:String, strSiteInfo_Version:String, strSiteInfo_LastUpdate:Date;
     var bSiteConfig_UI_EnableShadow:Boolean;
     var nSiteConfig_ScriptWinX:Number, nSiteConfig_ScriptWinY:Number, strSiteConfig_ScriptWinCnt:String,bSiteConfig_ScriptWinShow:Boolean;
     var bSiteConfig_SndEnabled:Boolean, strSiteConfig_SndSrc:String;
     var strSiteConfig_ExecScript:String;
     var nSiteCnt_DefView:Number;
     var nSiteCnt_ViewNum:Number;
     var lstSiteView_ImgURL:Array;
     var lstSiteView_ConfigURL:Array;
     var lstSiteView_IsExpend:Array;
     var lstSiteView_Title:Array;
     var lstSiteView_TitleEn:Array;
     var lstSiteView_Description:Array;
     var lstSiteLink_LnkIcon:Array;
     var lstSiteLink_LnkDest:Array;
     var lstSiteLink_LnkType:Array;
     var lstSiteLink_LnkTitle:Array;
   //
   _split(str);
   GetRandomToken:String
   CreateTween(objDestObj:Object,strEffectProperty:String,strTweenType:String,StartVal,EndVal,nDuration:Number,nFPS:Number);
   GetMajorFlaVer();
   GetQueryString(strURL:String,strStringName:String):String;
   GetSiteInfo(strInfoType:String);
 //SiteWidth;SiteHeight;SiteTitle;SiteVersion;DefSrciptTxt;LastUpdate;UI_EnableShadow
 //ScriptWinIniPosX;ScriptWinIniPosY;ShowScriptWinAuto;Snd_EnableAuto;Snd_SrcURL;
 //AutoExecScript;DefViewID;SiteViewTotal;lstViewIconURL;lstViewConfigURL;lstViewExpend;
 //lstViewTitle;lstViewTitleEn;lstViewDescription;lstSiteLnkIcon;lstSiteLnkDest;lstSiteLnkType
 //lstSiteLnkTitle
   ReadSiteConfig(ConfigXML:XML);
   CreateXMLPost(PostType:String);
   VerifyCmdResponse(SrcXml:XML);
   XML_CreateDataRequest(strDataName:String, lstInfoArg:String):XML
   SolveRPCResponseXML(xmlRawDest:XML):Object
   SolveRPCResponse(xmlRawDest:XML):Object
   XML_CreateRPCRequest2(strRPCName:String, objArgList:Object):XML
   XML_CreateRPCRequest(strRPCName:String, lstArgNameLst:Array, lstArgValLst:Array):XML
   CreateXMLPost2(PostType:String):XML
   CreateScriptWindow();
   msgout(strMsg:String);
   msgcls();
   ShowScriptWindow(bShow:Boolean);
   SetScriptTxt(strScriptTxt:String);
   XOR_Encode(strSrc:String,strPWD:String):String;
   IsScriptWindowVisible();
   CallRPC(strRPCName:String, objArg:Object, funcOnResponse:Function):Boolean;
   UpdateBrowseState(strBrowStr:String);
  
   objBrowseState.strAction
   objBrowseState.addListener
 @Event.OnBrowCmd

//Component
  ScriptWindow_core     //mov_main.ScriptWindow.Cont
-------------------------------
      SetScriptBuf(strNewVal:String)
      ClsTxt(nClsType:Number)
               // -2 clear current
               // -1 clear all
               //0 \ 1
      PostPrint(strPrintStr:String);
      SetEditorVal(strNewVal:String);
      GetEditorVal():String;
      GetBufVal(nBufType:Number):String;
      SetPostBuf(strNewVal:String);
      UpdateBuf(nBufType:Number, bSetBuf:Boolean);
      Execute(strScriptStr:String);
      SetView(nState:Number);

以上只是一些函数的原形定义,我不是要开源的,不过只要你足够敏锐,这些信息就够你做很多有趣的事了~

请不要用于非法用途和任何我不愿看到的行为


 

[照片]9月8日2时的月食

因为听gf说会有月食,反正最近修养阶段,没什么事可做,就熬夜看吧,顺便拍了些东西

不过我不是专业玩家,不,业余的也不是,所以用DV拍得东西就不拿出来了...

本次月食的情况

 初亏2:05分;食甚2:51分;复圆3:38分

下面是我在食甚前的照片,后面的就一样了,没必要拍,困死了,睡觉去了。拍得不好~

 

R381r7h

来下载EZ-UML吧~

要下载文件的可以去我们的临时发布页面:http://ezuml.csksoft.net

下面简要介绍下最终的无敌bug~

经过各位成员的努力,我们终于解决了EZ-UML的BOSS级BUG:影子模式

下面是通关日志:

进入关卡:最终话,影子传说

第一回合

BOSS影子传说使用密集:无敌OOMSymbol幻影大法...

EZ-UML中招,内部OOMSymbol分裂,文件读写崩溃

对各成员造成伤害:失去一晚睡眠时间

第二回合

EZ-UML小组成员使用咒语

if (left.equal("right"))
{
return "right";
}

if (up.equal("down"))
{
return "down";
}

对BOSS造成伤害:减少100行错误代码,晕眩伤害,持续时间:第二天答辩前

第三回合

BOSS联合软工老师发动思路混乱干扰

EZ-UML小组成员集体崩溃,被判部分成员重新答辩

第四回合

EZ-UML小组成员发出冲击波:"GerneralLinkableSymbol! GerneralLinkableRECT!"

BOSS消失。。。任务完成

任务总结

EZ-UML小组成员获得软件EZ-UML可发布版本一个、一周休息时间、EZ-UML发布页面一个

获取经验:学会了GerneralLinkableSymbol必杀技、学会了代码性别学、学会了词汇“突然”

以上文字纯属胡扯,如有不懂得问我~

 

SE课程结束,身心疲惫

奋斗了4个星期,终于结束了,虽然最终EZ-UML还是有一定bug。不过相信对于一个软件工程课程大作业来说,这的确已经够了。

chris在第4周加入了我们组,随后工程量就是恐怖的增长...为了最终答辩也通宵了一次。后来ppt准备也不充分。对老师我也不想说什么,总之目前:身心疲惫

空下来去cnBeta看了看,我不解的是:各类虚假、垄断的流氓,还有各类的黑幕,为什么会在我们这个“和谐”的社会中频发。

后来想到chris在SE答辩好对我说的话,是阿,我决定了,就目前,如果我创业,我不会选国内,如果我搞研究,我不会在国内

我自然是爱国的,但国内或许我无法适应了,也有可能是我把一些现象夸大了。不过与其被挂上不爱国的恶名,还是好些那种勾心斗角、浮夸、急功近利的氛围好。不过我也懂知恩图报的道理。

想想如果自己今后做了什么东西,也落个东方微点下场,按我的性格,我宁愿去造反。

后来去下载了这个软件,说真的,如果我非要用防毒软件的话,我就用这个了

好了,不说丧气话了,最后发些EZ-UML的图片。EZ-UML今后会不断开发,等一些明显bug修正了我会放出一些下载链接。各位Teammate辛苦了,我们先“突然”休息个礼拜吧

-------------------------------------------

增加了Workspace视图,可以拖动元件,产生分层包图或者InnerClass的结构

UseCase视图

支持文字、图形反锯齿显示

编辑类属性的画面

分页:[«]1[»]

Copyright Shikai Chen 2000-2012. Powered By Z-Blog(CSK Modified)