Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/sqlite/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Actionscript 3 将highscore保存到sqlite中_Actionscript 3_Sqlite_Flash Cs6 - Fatal编程技术网

Actionscript 3 将highscore保存到sqlite中

Actionscript 3 将highscore保存到sqlite中,actionscript-3,sqlite,flash-cs6,Actionscript 3,Sqlite,Flash Cs6,我想在比赛中取得高分。但是当我试图在sqlite上保存表数据库的高分时,我有一些错误 TypeError:错误#1009:无法访问空对象引用的属性或方法。 在DDRnew\u fla::MainTimeline/ext()[DDRnew\u fla.MainTimeline::frame26:64] 我的动作脚本是这样的 import flash.filesystem.File; import flash.data.SQLStatement; import flash.data.SQLConne

我想在比赛中取得高分。但是当我试图在sqlite上保存表数据库的高分时,我有一些错误 TypeError:错误#1009:无法访问空对象引用的属性或方法。 在DDRnew\u fla::MainTimeline/ext()[DDRnew\u fla.MainTimeline::frame26:64] 我的动作脚本是这样的

import flash.filesystem.File;
import flash.data.SQLStatement;
import flash.data.SQLConnection;
import flash.events.SQLEvent;
import flash.events.SQLErrorEvent;
import flash.data.SQLResult;
import flash.events.MouseEvent;
import flash.display.MovieClip;

var fileDB:File;
var koneksi:SQLConnection;
var sqlStatement:SQLStatement;
perfectcount.text = "" + int(perfect);
greatcount.text = "" + int(great);
goodcount.text = "" + int(good);
boocount.text = "" + int(boo);
misscount.text = "" + int(miss);
scorecount.text = "" + int(score);

addEventListener(Event.ENTER_FRAME, ranking);
exit.addEventListener(MouseEvent.CLICK, ext);

init();

function init()
{
    koneksi = new SQLConnection();
    koneksi.addEventListener(SQLEvent.OPEN, koneksiHandler);
    koneksi.addEventListener(SQLErrorEvent.ERROR, errorHandler);
    fileDB = new File(File.applicationDirectory.nativePath);
    fileDB = fileDB.resolvePath("DDR.db");
    koneksi.open(fileDB);
}

function koneksiHandler(e:SQLEvent)
{
    sqlStatement = new SQLStatement();
    sqlStatement.sqlConnection = koneksi;
    sqlStatement.addEventListener(SQLErrorEvent.ERROR, errorHandler);
}


function ranking(event:Event):void
{
if (score>=846000)
{
    rank.text = "A";
    this.removeEventListener(Event.ENTER_FRAME, ranking);
}
else if (score>=658000)
{
    rank.text = "B";
    this.removeEventListener(Event.ENTER_FRAME, ranking);
}
else if (score>=470000)
{
    rank.text = "C";
    this.removeEventListener(Event.ENTER_FRAME, ranking);
}
else if (score>=282000)
{
    rank.text = "D";
    this.removeEventListener(Event.ENTER_FRAME, ranking);
}
else
{
    rank.text = "E";
    this.removeEventListener(Event.ENTER_FRAME, ranking);
}

}
function ext(e:MouseEvent):void
{
gotoAndStop("main menu");
var scoretxt:String ="" + int(score);
var ranktxt:String = rank.text;
var queryString:String;
queryString = "INSERT INTO easy1 (score, Rank) VALUES ('" + scoretxt + "', '" + ranktxt + "')";
var sqlQuery:String = queryString;
sqlStatement.addEventListener(SQLEvent.RESULT, querySukses);
sqlStatement.text = sqlQuery;
sqlStatement.execute();
}
function querySukses(e:SQLEvent)
{
sqlStatement.removeEventListener(SQLEvent.RESULT, querySukses);
e.target.removeEventListener(MouseEvent.CLICK, ext);

}
function errorHandler(e:*):void
{
trace("Eksekusi statement error.");
}

第64行是变量ranktxt:String=rank.text;而完美、伟大、良好、嘘声、失误对得分是可变的。我需要一个这个thnx的解决方案,然后我猜
rank
是一个文本字段吗?确保执行该代码的框架上存在textfield。是,它是一个textfield,并且已经存在。这就是为什么不应该在框架中编写代码如果我不应该在框架中编写代码,我应该在哪里编写?便条簿?。顺便说一句,它已经解决了只需要在gotoAndStop之前写var ranktxt:string不是在记事本中而是在单独的类中