首先。。。。90°鞠躬下,之前说的第三个App 是做 MagaJump,但是呢~由于自己想把这个做的完善嘛,于是就想连数据库也一起做进去好了。这样就可以保存游戏进度和分数啊神马的。
于是乎呢~在做进游戏之前,就做了一个demo来试试sd卡的文件读写操作是否成功。 做着,做着,就做了一个签到程序了的说。想着自己心中所想的事,看看自己能坚持多久的说。
程序的功能嘛~ 每天点击1次,坚持天数+1,如果有1天没有点击,坚持天数复位为1。
下面是运行裁图啦。
以下是源码:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 | import flash.filesystem.File; import flash.filesystem.FileStream; import flash.events.TouchEvent; import flash.text.TextField; import flash.events.MouseEvent; import flash.filesystem.FileMode; import flash.events.Event; var day:int = 0; var myText:String; var Cd:Number = 0; var myArray:Array = []; var myDate:Date = new Date ; var myDay:uint = myDate.getDay(); //对应Android系统其实应该用Touch_Begin事件的,但是以前打顺手了,这次就先不改啦 stage.addEventListener(Event.RESIZE,onSize); myBtn.addEventListener(MouseEvent.CLICK,onCon); myBtn.buttonMode = true; myBtn1.addEventListener(MouseEvent.CLICK,onCan); myBtn1.buttonMode = true; init(); function init() { getInfo(); myDayText.text = Cd.toString() + "天"; if (Capabilities.cpuArchitecture == "ARM") { NativeApplication.nativeApplication.addEventListener(Event.DEACTIVATE, handleDeactivate, false, 0, true); } } function onSize(e:Event) { myBg.width=stage.stageWidth; myBg.height=stage.stageHeight; } function onCon(e:MouseEvent) { if (myDay - 1 == day) //连续2天 { Cd++; } else if (myDay==1) //如果为周一,判断昨天是否为周日 { if (day == 7) { Cd++; } } else if (myDay==day) //如果同是今天 { } else //如果不连续则复位 { Cd = 1; } day = myDay; setInfo(); getInfo(); } function onCan(e:MouseEvent) { day = myDay; Cd = 1; setInfo(); getInfo(); } function handleDeactivate(event:Event):void { NativeApplication.nativeApplication.exit(); } function getInfo() { var date:Date = new Date ; var myFile:File = File.documentsDirectory.resolvePath("Aoicocoon/log.txt"); var fs:FileStream=new FileStream(); try { if (! myFile.exists) { fs.open(myFile,FileMode.WRITE); fs.writeUTFBytes(date.getDay()+"/1"); } else { fs.open(myFile,FileMode.READ); } myText=(fs.readUTFBytes(fs.bytesAvailable)).toString(); myArray = myText.split("/"); day = myArray[0]; Cd = Number(myArray[1]); myDayText.text = Cd.toString() + "天"; //trace("read"); } catch (e: * ) { getInfo(); } finally { fs.close(); } } function setInfo() { var myFile:File = File.documentsDirectory.resolvePath("Aoicocoon/log.txt"); var fs:FileStream=new FileStream(); if (! myFile.exists) { fs.open(myFile,FileMode.WRITE); fs.writeUTFBytes(day+"/"+Cd); } else { //trace("save"); fs.open(myFile,FileMode.WRITE); fs.writeUTFBytes(day+"/"+Cd); } fs.close(); } //文本文件内容为 天/坚持次数 1/10; |