@@ -19820,6 +19820,9 @@ cr.plugins_.SenaPlugin = function (runtime) {
|
||||
instanceProto.onCreate = function () {
|
||||
console.log("🔥 LOAD CALLBACK FIRED");
|
||||
window["SenaTrigger"] = this;
|
||||
this.widthArray = [];
|
||||
this.slotInstances = [];
|
||||
this.slotPositions = [];
|
||||
this.sdk = null;
|
||||
this.isPaused = false;
|
||||
this.pauseTime = 0;
|
||||
@@ -19875,6 +19878,15 @@ cr.plugins_.SenaPlugin = function (runtime) {
|
||||
Cnds.prototype.OnMessage = function () {
|
||||
return true;
|
||||
};
|
||||
Cnds.prototype.OnWordLayoutFinished = function () {
|
||||
return true;
|
||||
};
|
||||
Cnds.prototype.OnSlotLayoutFinished = function () {
|
||||
return true;
|
||||
};
|
||||
Cnds.prototype.OnSlotLayoutFinished2 = function () {
|
||||
return true;
|
||||
};
|
||||
pluginProto.cnds = new Cnds();
|
||||
function Acts() {}
|
||||
Acts.prototype.Load = function () {
|
||||
@@ -19915,6 +19927,12 @@ Acts.prototype.Load = function () {
|
||||
console.error("SenaSDK not found");
|
||||
this.isLoading = false;
|
||||
}
|
||||
};
|
||||
Acts.prototype.SetObjectWidth = function (index, width) {
|
||||
if (!this.widthArray) {
|
||||
this.widthArray = [];
|
||||
}
|
||||
this.widthArray[index] = width;
|
||||
};
|
||||
Acts.prototype.Start = function () {
|
||||
var self = this;
|
||||
@@ -20019,52 +20037,87 @@ Acts.prototype.Load = function () {
|
||||
this.totalPausedTime = 0;
|
||||
}
|
||||
};
|
||||
Acts.prototype.CalcObjectPositions = function (
|
||||
count,
|
||||
objectWidth,
|
||||
margin,
|
||||
maxWidth,
|
||||
rowBreak,
|
||||
rowGap,
|
||||
type,
|
||||
groupGap
|
||||
) {
|
||||
this.calculatedPositions = [];
|
||||
if (count <= 0) return;
|
||||
var rows = [];
|
||||
if (rowBreak > 0) {
|
||||
for (var i = 0; i < count; i += rowBreak) {
|
||||
rows.push(Math.min(rowBreak, count - i));
|
||||
}
|
||||
Acts.prototype.CalcObjectPositions = function (
|
||||
count,
|
||||
objectWidth,
|
||||
margin,
|
||||
maxWidth,
|
||||
rowBreak,
|
||||
rowGap,
|
||||
type,
|
||||
groupGap
|
||||
) {
|
||||
var widthArray = this.widthArray || [];
|
||||
if (!widthArray.length) {
|
||||
console.warn("widthArray empty, fallback to objectWidth");
|
||||
widthArray = new Array(count).fill(objectWidth);
|
||||
}
|
||||
this.calculatedPositions = [];
|
||||
if (count <= 0) {
|
||||
this.runtime.trigger(
|
||||
cr.plugins_.SenaPlugin.prototype.cnds.OnCalculateFinished,
|
||||
this
|
||||
);
|
||||
return;
|
||||
}
|
||||
var rows = [];
|
||||
if (rowBreak > 0) {
|
||||
for (var i = 0; i < count; i += rowBreak) {
|
||||
rows.push(Math.min(rowBreak, count - i));
|
||||
}
|
||||
} else {
|
||||
if (count <= 5) {
|
||||
rows.push(count);
|
||||
} else {
|
||||
if (count <= 5) {
|
||||
rows.push(count);
|
||||
} else {
|
||||
var top = Math.ceil((count + 1) / 2);
|
||||
var bottom = count - top;
|
||||
rows.push(top);
|
||||
rows.push(bottom);
|
||||
}
|
||||
var top = Math.ceil((count + 1) / 2);
|
||||
var bottom = count - top;
|
||||
rows.push(top);
|
||||
rows.push(bottom);
|
||||
}
|
||||
var baseY = 0;
|
||||
if (type === "word") {
|
||||
baseY = groupGap || (rowGap * rows.length); // word always below slot
|
||||
}
|
||||
var baseY = 0;
|
||||
if (type === "word") {
|
||||
baseY = groupGap || (rowGap * rows.length);
|
||||
}
|
||||
var index = 0;
|
||||
for (var r = 0; r < rows.length; r++) {
|
||||
var itemsInRow = rows[r];
|
||||
var rowWidth = 0;
|
||||
for (var i = 0; i < itemsInRow; i++) {
|
||||
rowWidth += widthArray[index + i] || objectWidth;
|
||||
}
|
||||
var index = 0;
|
||||
for (var r = 0; r < rows.length; r++) {
|
||||
var itemsInRow = rows[r];
|
||||
var rowWidth = itemsInRow * objectWidth + (itemsInRow - 1) * margin;
|
||||
var startX = (maxWidth - rowWidth) / 2;
|
||||
for (var i = 0; i < itemsInRow; i++) {
|
||||
this.calculatedPositions.push({
|
||||
x: startX + i * (objectWidth + margin) + objectWidth / 2,
|
||||
y: baseY + r * rowGap
|
||||
});
|
||||
index++;
|
||||
}
|
||||
rowWidth += (itemsInRow - 1) * margin;
|
||||
var startX = (maxWidth - rowWidth) / 2;
|
||||
var currentX = startX;
|
||||
for (var i = 0; i < itemsInRow; i++) {
|
||||
var w = widthArray[index] || objectWidth;
|
||||
this.calculatedPositions.push({
|
||||
x: currentX + w / 2,
|
||||
y: baseY + r * rowGap
|
||||
});
|
||||
currentX += w + margin;
|
||||
index++;
|
||||
}
|
||||
console.log("Calculated positions (multi-row):", this.calculatedPositions);
|
||||
};
|
||||
}
|
||||
console.log("Calculated positions:", this.calculatedPositions);
|
||||
if (type === "word") {
|
||||
this.runtime.trigger(
|
||||
cr.plugins_.SenaPlugin.prototype.cnds.OnWordLayoutFinished,
|
||||
this
|
||||
);
|
||||
} else if (type === "slot") {
|
||||
this.runtime.trigger(
|
||||
cr.plugins_.SenaPlugin.prototype.cnds.OnSlotLayoutFinished,
|
||||
this
|
||||
);
|
||||
}
|
||||
else if (type === "slot2") {
|
||||
this.runtime.trigger(
|
||||
cr.plugins_.SenaPlugin.prototype.cnds.OnSlotLayoutFinished2,
|
||||
this
|
||||
);
|
||||
}
|
||||
};
|
||||
Acts.prototype.LoadLevelG5 = function (levelIndex) {
|
||||
if (this.sdk && this.sdk.loadLevelG5) {
|
||||
this.sdk.loadLevelG5(levelIndex);
|
||||
@@ -20113,6 +20166,22 @@ Acts.prototype.Load = function () {
|
||||
};
|
||||
pluginProto.acts = new Acts();
|
||||
function Exps() {}
|
||||
Exps.prototype.getObjectWidthByIndex = function (ret, index) {
|
||||
if (!this.runtime) {
|
||||
ret.set_float(0);
|
||||
return;
|
||||
}
|
||||
var instances = this.runtime.getCurrentEventStack().current_event.solModifiers;
|
||||
if (!instances) {
|
||||
ret.set_float(0);
|
||||
return;
|
||||
}
|
||||
if (this.widthArray && this.widthArray[index] !== undefined) {
|
||||
ret.set_float(this.widthArray[index]);
|
||||
} else {
|
||||
ret.set_float(0);
|
||||
}
|
||||
};
|
||||
Exps.prototype.getQuestionValue = function (ret) {
|
||||
if (this.sdk) {
|
||||
ret.set_string(this.sdk.getQuestionValue() || "");
|
||||
@@ -25158,23 +25227,24 @@ cr.behaviors.Sin = function(runtime)
|
||||
behaviorProto.exps = new Exps();
|
||||
}());
|
||||
cr.getObjectRefTable = function () { return [
|
||||
cr.plugins_.SenaPlugin,
|
||||
cr.plugins_.Sprite,
|
||||
cr.plugins_.SpriteFontPlus,
|
||||
cr.plugins_.Touch,
|
||||
cr.plugins_.Audio,
|
||||
cr.plugins_.Browser,
|
||||
cr.plugins_.Function,
|
||||
cr.plugins_.JSON,
|
||||
cr.plugins_.Sprite,
|
||||
cr.plugins_.SenaPlugin,
|
||||
cr.plugins_.SpriteFontPlus,
|
||||
cr.plugins_.Touch,
|
||||
cr.behaviors.Fade,
|
||||
cr.behaviors.DragnDrop,
|
||||
cr.behaviors.Rex_MoveTo,
|
||||
cr.behaviors.Pin,
|
||||
cr.behaviors.Sin,
|
||||
cr.behaviors.Anchor,
|
||||
cr.behaviors.Pin,
|
||||
cr.system_object.prototype.cnds.OnLayoutStart,
|
||||
cr.plugins_.SenaPlugin.prototype.acts.Load,
|
||||
cr.system_object.prototype.acts.SetLayerVisible,
|
||||
cr.plugins_.Sprite.prototype.acts.Destroy,
|
||||
cr.plugins_.SenaPlugin.prototype.cnds.OnLoad,
|
||||
cr.plugins_.Browser.prototype.acts.ConsoleLog,
|
||||
cr.plugins_.SenaPlugin.prototype.exps.getGuide,
|
||||
@@ -25186,7 +25256,6 @@ cr.getObjectRefTable = function () { return [
|
||||
cr.plugins_.SenaPlugin.prototype.exps.getRequestValue,
|
||||
cr.plugins_.SenaPlugin.prototype.exps.getOptionsCount,
|
||||
cr.plugins_.SenaPlugin.prototype.exps.getHintCount,
|
||||
cr.plugins_.Sprite.prototype.acts.Destroy,
|
||||
cr.system_object.prototype.acts.SetVar,
|
||||
cr.behaviors.Pin.prototype.acts.Pin,
|
||||
cr.plugins_.SpriteFontPlus.prototype.acts.SetText,
|
||||
@@ -25196,24 +25265,33 @@ cr.getObjectRefTable = function () { return [
|
||||
cr.plugins_.Sprite.prototype.acts.SetPos,
|
||||
cr.plugins_.Sprite.prototype.acts.LoadURL,
|
||||
cr.plugins_.SenaPlugin.prototype.exps.getQuestionImage,
|
||||
cr.plugins_.SenaPlugin.prototype.acts.CalcObjectPositions,
|
||||
cr.system_object.prototype.exps["int"],
|
||||
cr.plugins_.Sprite.prototype.exps.Width,
|
||||
cr.system_object.prototype.cnds.Repeat,
|
||||
cr.system_object.prototype.exps["int"],
|
||||
cr.system_object.prototype.exps.loopindex,
|
||||
cr.plugins_.SenaPlugin.prototype.exps.getHintType,
|
||||
cr.plugins_.SenaPlugin.prototype.exps.getHintValue,
|
||||
cr.system_object.prototype.acts.CreateObject,
|
||||
cr.plugins_.SenaPlugin.prototype.exps.getPosXbyIndex,
|
||||
cr.plugins_.SenaPlugin.prototype.exps.getPosYbyIndex,
|
||||
cr.system_object.prototype.cnds.Compare,
|
||||
cr.plugins_.Sprite.prototype.acts.SetBoolInstanceVar,
|
||||
cr.plugins_.Sprite.prototype.acts.SetAnimFrame,
|
||||
cr.plugins_.Sprite.prototype.acts.SetWidth,
|
||||
cr.plugins_.SpriteFontPlus.prototype.exps.TextWidth,
|
||||
cr.plugins_.SenaPlugin.prototype.acts.SetObjectWidth,
|
||||
cr.plugins_.Sprite.prototype.exps.Width,
|
||||
cr.plugins_.SpriteFontPlus.prototype.acts.Destroy,
|
||||
cr.system_object.prototype.cnds.Else,
|
||||
cr.system_object.prototype.acts.AddVar,
|
||||
cr.plugins_.Sprite.prototype.acts.SetY,
|
||||
cr.plugins_.SenaPlugin.prototype.exps.getOptionsType,
|
||||
cr.plugins_.SenaPlugin.prototype.acts.CalcObjectPositions,
|
||||
cr.plugins_.SenaPlugin.prototype.exps.getOptionsValue,
|
||||
cr.plugins_.Sprite.prototype.acts.SetY,
|
||||
cr.plugins_.SenaPlugin.prototype.exps.getPosYbyIndex,
|
||||
cr.plugins_.SenaPlugin.prototype.cnds.OnWordLayoutFinished,
|
||||
cr.plugins_.SenaPlugin.prototype.exps.getOptionsType,
|
||||
cr.plugins_.SenaPlugin.prototype.exps.getPosXbyIndex,
|
||||
cr.plugins_.SenaPlugin.prototype.cnds.OnSlotLayoutFinished,
|
||||
cr.system_object.prototype.acts.AddVar,
|
||||
cr.plugins_.SenaPlugin.prototype.cnds.OnSlotLayoutFinished2,
|
||||
cr.system_object.prototype.cnds.ForEach,
|
||||
cr.system_object.prototype.cnds.PickByComparison,
|
||||
cr.plugins_.Touch.prototype.cnds.OnTouchObject,
|
||||
cr.plugins_.Sprite.prototype.cnds.IsVisible,
|
||||
cr.system_object.prototype.cnds.CompareVar,
|
||||
@@ -25229,7 +25307,6 @@ cr.getObjectRefTable = function () { return [
|
||||
cr.plugins_.SenaPlugin.prototype.cnds.OnResume,
|
||||
cr.plugins_.Function.prototype.cnds.OnFunction,
|
||||
cr.system_object.prototype.cnds.For,
|
||||
cr.system_object.prototype.cnds.PickByComparison,
|
||||
cr.system_object.prototype.exps.left,
|
||||
cr.system_object.prototype.exps.len,
|
||||
cr.plugins_.SenaPlugin.prototype.acts.Finish,
|
||||
@@ -25247,10 +25324,10 @@ cr.getObjectRefTable = function () { return [
|
||||
cr.behaviors.DragnDrop.prototype.cnds.OnDrop,
|
||||
cr.plugins_.Sprite.prototype.cnds.IsBoolInstanceVarSet,
|
||||
cr.plugins_.Sprite.prototype.cnds.PickDistance,
|
||||
cr.behaviors.Rex_MoveTo.prototype.acts.SetMaxSpeed,
|
||||
cr.plugins_.SenaPlugin.prototype.acts.SetData,
|
||||
cr.system_object.prototype.exps.str,
|
||||
cr.plugins_.SenaPlugin.prototype.acts.PostMessage,
|
||||
cr.behaviors.Rex_MoveTo.prototype.acts.SetMaxSpeed,
|
||||
cr.behaviors.DragnDrop.prototype.cnds.IsDragging,
|
||||
cr.system_object.prototype.cnds.EveryTick,
|
||||
cr.plugins_.Sprite.prototype.acts.SetVisible,
|
||||
|
||||
|
Before Width: | Height: | Size: 24 KiB |
@@ -1,5 +1,5 @@
|
||||
{
|
||||
"version": 1772008835,
|
||||
"version": 1772106234,
|
||||
"fileList": [
|
||||
"data.js",
|
||||
"c2runtime.js",
|
||||
@@ -22,7 +22,6 @@
|
||||
"images/layer-sheet0.png",
|
||||
"images/newwordpng-sheet0.png",
|
||||
"images/img-sheet0.png",
|
||||
"images/khungnen-sheet0.png",
|
||||
"media/click.ogg",
|
||||
"media/correct.ogg",
|
||||
"media/error-010-206498.ogg",
|
||||
|
||||
@@ -814,7 +814,7 @@ SenaSDK.prototype.start = function () {
|
||||
if (self.shuffle && self.data?.options) {
|
||||
self.shuffleArray(self.data.options);
|
||||
}
|
||||
self.startTime = Date.now();
|
||||
// self.startTime = Date.now();
|
||||
};
|
||||
|
||||
SenaSDK.prototype.markUserInteraction = function () {
|
||||
@@ -870,8 +870,8 @@ SenaSDK.prototype.end = function (answer, callback) {
|
||||
|
||||
// ========== STANDARD GAMES (Quiz/Sort/Fill) ==========
|
||||
|
||||
self.endTime = Date.now();
|
||||
const duration = (self.endTime - self.startTime) / 1000;
|
||||
// self.endTime = Date.now();
|
||||
// const duration = (self.endTime - self.startTime) / 1000;
|
||||
|
||||
const answerStr = String(answer || '');
|
||||
const userAnswers = answerStr.includes('|')
|
||||
@@ -918,21 +918,19 @@ SenaSDK.prototype.end = function (answer, callback) {
|
||||
});
|
||||
}
|
||||
|
||||
// Check time limit
|
||||
if (self.timeLimit > 0 && duration > self.timeLimit) {
|
||||
isCorrect = false;
|
||||
console.log('🎮 Sena SDK: Time limit exceeded');
|
||||
}
|
||||
// // Check time limit
|
||||
// if (self.timeLimit > 0 && duration > self.timeLimit) {
|
||||
// isCorrect = false;
|
||||
// console.log('🎮 Sena SDK: Time limit exceeded');
|
||||
// }
|
||||
|
||||
const result = {
|
||||
isCorrect: isCorrect,
|
||||
duration: duration,
|
||||
correctAnswer: correctAnswers.join(' | '),
|
||||
userAnswer: userAnswers.join(' | ')
|
||||
};
|
||||
isCorrect: isCorrect,
|
||||
correctAnswer: correctAnswers.join(' | '),
|
||||
userAnswer: userAnswers.join(' | ')
|
||||
};
|
||||
|
||||
console.log(`🎮 Sena SDK: Result: ${isCorrect ? 'CORRECT' : 'INCORRECT'} (${duration}s)`);
|
||||
|
||||
console.log(`🎮 Sena SDK: Result: ${isCorrect ? 'CORRECT' : 'INCORRECT'}`);
|
||||
if (callback) callback(result.isCorrect);
|
||||
return result;
|
||||
};
|
||||
|
||||
BIN
source/Test/Animations/IMG/Default/000.png
Normal file
|
After Width: | Height: | Size: 857 B |
BIN
source/Test/Animations/Layer/Default/000.png
Normal file
|
After Width: | Height: | Size: 117 KiB |
BIN
source/Test/Animations/NewWordpng/Default/000.png
Normal file
|
After Width: | Height: | Size: 166 KiB |
BIN
source/Test/Animations/SenaaiKhoi/Default/000.png
Normal file
|
After Width: | Height: | Size: 300 KiB |
BIN
source/Test/Animations/Slot/Default/000.png
Normal file
|
After Width: | Height: | Size: 13 KiB |
BIN
source/Test/Animations/Slot/Default/001.png
Normal file
|
After Width: | Height: | Size: 11 KiB |
BIN
source/Test/Animations/Slot/Default/002.png
Normal file
|
After Width: | Height: | Size: 13 KiB |
BIN
source/Test/Animations/Slot/Default/003.png
Normal file
|
After Width: | Height: | Size: 12 KiB |
BIN
source/Test/Animations/Slot/Default/004.png
Normal file
|
After Width: | Height: | Size: 68 KiB |
BIN
source/Test/Animations/Slot/Default/005.png
Normal file
|
After Width: | Height: | Size: 11 KiB |
BIN
source/Test/Animations/Slot/Default/006.png
Normal file
|
After Width: | Height: | Size: 18 KiB |
BIN
source/Test/Animations/Slot/Default/007.png
Normal file
|
After Width: | Height: | Size: 12 KiB |
BIN
source/Test/Animations/btn_Pause/Default/000.png
Normal file
|
After Width: | Height: | Size: 15 KiB |
BIN
source/Test/Animations/btn_WordItem/Default/000.png
Normal file
|
After Width: | Height: | Size: 11 KiB |
BIN
source/Test/Animations/btn_check/Default/000.png
Normal file
|
After Width: | Height: | Size: 159 KiB |
BIN
source/Test/Animations/btn_music/Default/000.png
Normal file
|
After Width: | Height: | Size: 16 KiB |
BIN
source/Test/Animations/btn_music/Default/001.png
Normal file
|
After Width: | Height: | Size: 16 KiB |
BIN
source/Test/Animations/btn_setting/Default/000.png
Normal file
|
After Width: | Height: | Size: 16 KiB |
BIN
source/Test/Animations/checker_wrong_correct/Default/000.png
Normal file
|
After Width: | Height: | Size: 14 KiB |
BIN
source/Test/Animations/checker_wrong_correct/Default/001.png
Normal file
|
After Width: | Height: | Size: 11 KiB |
BIN
source/Test/Animations/panel/Default/000.png
Normal file
|
After Width: | Height: | Size: 406 KiB |
BIN
source/Test/Animations/panel_pause/Default/000.png
Normal file
|
After Width: | Height: | Size: 823 B |
BIN
source/Test/Animations/pause/Default/000.png
Normal file
|
After Width: | Height: | Size: 857 B |
BIN
source/Test/Animations/resume/Default/000.png
Normal file
|
After Width: | Height: | Size: 857 B |
18
source/Test/Event sheets/DrapDrop.uistate.xml
Normal file
@@ -0,0 +1,18 @@
|
||||
<?xml version="1.0" encoding="utf-8" ?>
|
||||
<c2uistate>
|
||||
<!--This is a UI state file - its content describes the user interface settings when the event sheet was last open.
|
||||
It is entirely optional and the project will load without it. If you are placing the project under source control,
|
||||
you probably do not want to add any .uistate.xml files to the repository.-->
|
||||
<show-addaction-links>1</show-addaction-links>
|
||||
<scroll-pos>0</scroll-pos>
|
||||
<conditions-column>437</conditions-column>
|
||||
<actions-namecolumn>78</actions-namecolumn>
|
||||
<condition-namecolumns>
|
||||
<nest>139</nest>
|
||||
<nest>127</nest>
|
||||
<nest>112</nest>
|
||||
<nest>110</nest>
|
||||
<nest>18</nest>
|
||||
</condition-namecolumns>
|
||||
<events />
|
||||
</c2uistate>
|
||||
397
source/Test/Event sheets/DrapDrop.xml
Normal file
@@ -0,0 +1,397 @@
|
||||
<?xml version="1.0" encoding="utf-8" ?>
|
||||
<c2eventsheet>
|
||||
<!--All the 'name' attributes are ignored by Construct 2 - they are there for readability only.-->
|
||||
<name>DrapDrop</name>
|
||||
<events>
|
||||
<variable constant="0" name="filledCount" sid="528865922993012" static="0" type="number">-1</variable>
|
||||
<event-block sid="197106660861514">
|
||||
<conditions>
|
||||
<condition behavior="DragDrop" id="1" name="On drag start" sid="528907557634308" type="btn_WordItem" />
|
||||
</conditions>
|
||||
<actions>
|
||||
<action id="0" name="Play" sid="162558464641912" type="Audio">
|
||||
<param id="0" name="Audio file">click</param>
|
||||
<param id="2" name="Loop">0</param>
|
||||
<param id="3" name="Volume">-2</param>
|
||||
<param id="1" name="Tag (optional)">""</param>
|
||||
</action>
|
||||
</actions>
|
||||
<sub-events>
|
||||
<event-block sid="266963171745346">
|
||||
<conditions>
|
||||
<condition id="-7" name="Compare instance variable" sid="673397366023432" type="btn_WordItem">
|
||||
<param id="0" name="Instance variable">slotIndex</param>
|
||||
<param id="1" name="Comparison">1</param>
|
||||
<param id="2" name="Value">-1</param>
|
||||
</condition>
|
||||
<condition id="-7" name="Compare instance variable" sid="577869128870380" type="Slot">
|
||||
<param id="0" name="Instance variable">index</param>
|
||||
<param id="1" name="Comparison">0</param>
|
||||
<param id="2" name="Value">btn_WordItem.slotIndex</param>
|
||||
</condition>
|
||||
<condition id="1" name="Is overlapping another object" sid="609479521709627" type="btn_WordItem">
|
||||
<param id="0" name="Object">txt_WordItem</param>
|
||||
</condition>
|
||||
</conditions>
|
||||
<actions>
|
||||
<action id="-10" name="Set value" sid="445026196152632" type="Slot">
|
||||
<param id="0" name="Instance variable">word</param>
|
||||
<param id="1" name="Value">"_"</param>
|
||||
</action>
|
||||
<action id="-24" name="Move to top" sid="670463517581139" type="btn_WordItem" />
|
||||
<action id="-24" name="Move to top" sid="538995332098798" type="txt_WordItem" />
|
||||
</actions>
|
||||
</event-block>
|
||||
<event-block sid="816493828433722">
|
||||
<conditions>
|
||||
<condition id="-22" name="Else" sid="390659514117980" type="System" />
|
||||
</conditions>
|
||||
<actions />
|
||||
<sub-events>
|
||||
<event-block sid="487754364377713">
|
||||
<conditions>
|
||||
<condition id="1" name="Is overlapping another object" sid="443159185077976" type="btn_WordItem">
|
||||
<param id="0" name="Object">txt_WordItem</param>
|
||||
</condition>
|
||||
</conditions>
|
||||
<actions>
|
||||
<action id="-24" name="Move to top" sid="774809908055048" type="btn_WordItem" />
|
||||
<action id="-24" name="Move to top" sid="501986465343455" type="txt_WordItem" />
|
||||
</actions>
|
||||
</event-block>
|
||||
</sub-events>
|
||||
</event-block>
|
||||
</sub-events>
|
||||
</event-block>
|
||||
<event-block sid="946639210805430">
|
||||
<conditions>
|
||||
<condition behavior="DragDrop" id="2" name="On drop" sid="155941787306139" type="btn_WordItem" />
|
||||
</conditions>
|
||||
<actions>
|
||||
<action id="0" name="Play" sid="361413524752870" type="Audio">
|
||||
<param id="0" name="Audio file">immersivecontrol-button-click-sound-463065</param>
|
||||
<param id="2" name="Loop">0</param>
|
||||
<param id="3" name="Volume">-2</param>
|
||||
<param id="1" name="Tag (optional)">""</param>
|
||||
</action>
|
||||
</actions>
|
||||
<sub-events>
|
||||
<event-block sid="504792991445212">
|
||||
<conditions>
|
||||
<condition id="1" name="Is overlapping another object" sid="845450333794375" type="btn_WordItem">
|
||||
<param id="0" name="Object">Slot</param>
|
||||
</condition>
|
||||
<condition id="-8" inverted="1" name="Is boolean instance variable set" sid="204552588897544" type="Slot">
|
||||
<param id="0" name="Instance variable">locked</param>
|
||||
</condition>
|
||||
</conditions>
|
||||
<actions />
|
||||
<sub-events>
|
||||
<event-block sid="106550985509374">
|
||||
<conditions>
|
||||
<condition id="-15" name="Pick nearest/furthest" sid="170480452496238" type="Slot">
|
||||
<param id="0" name="Which">0</param>
|
||||
<param id="1" name="X">btn_WordItem.X</param>
|
||||
<param id="2" name="Y">btn_WordItem.Y</param>
|
||||
</condition>
|
||||
<condition id="-7" name="Compare instance variable" sid="938809230173413" type="Slot">
|
||||
<param id="0" name="Instance variable">word</param>
|
||||
<param id="1" name="Comparison">0</param>
|
||||
<param id="2" name="Value">"_"</param>
|
||||
</condition>
|
||||
</conditions>
|
||||
<actions />
|
||||
<sub-events>
|
||||
<event-block sid="800826128186269">
|
||||
<conditions>
|
||||
<condition id="-7" name="Compare instance variable" sid="542293663517978" type="btn_WordItem">
|
||||
<param id="0" name="Instance variable">slotIndex</param>
|
||||
<param id="1" name="Comparison">0</param>
|
||||
<param id="2" name="Value">-1</param>
|
||||
</condition>
|
||||
</conditions>
|
||||
<actions>
|
||||
<action id="-10" name="Set value" sid="568930528296173" type="Slot">
|
||||
<param id="0" name="Instance variable">word</param>
|
||||
<param id="1" name="Value">btn_WordItem.text</param>
|
||||
</action>
|
||||
<action id="-5" name="Set width" sid="848464562069708" type="Slot">
|
||||
<param id="0" name="Width">btn_WordItem.Width</param>
|
||||
</action>
|
||||
<action id="-10" name="Set value" sid="319064212608435" type="btn_WordItem">
|
||||
<param id="0" name="Instance variable">slotIndex</param>
|
||||
<param id="1" name="Value">Slot.index</param>
|
||||
</action>
|
||||
<action id="-10" name="Add to" sid="416857348260297" type="System">
|
||||
<param id="0" name="Variable">filledCount</param>
|
||||
<param id="1" name="Value">1</param>
|
||||
</action>
|
||||
<action id="15" name="Set Data" sid="419250460039333" type="SenaAI">
|
||||
<param id="0" name="Data 1">str(btn_WordItem.Text)</param>
|
||||
<param id="1" name="Data 2">str(Slot.index)</param>
|
||||
<param id="2" name="Data 3">""</param>
|
||||
<param id="3" name="Data 4">""</param>
|
||||
<param id="4" name="Data 5">""</param>
|
||||
</action>
|
||||
<action id="16" name="Post Message" sid="278619922018473" type="SenaAI" />
|
||||
</actions>
|
||||
</event-block>
|
||||
<event-block sid="296319278611324">
|
||||
<conditions>
|
||||
<condition id="-22" name="Else" sid="250133201929726" type="System" />
|
||||
</conditions>
|
||||
<actions>
|
||||
<action id="-10" name="Set value" sid="347684935320096" type="Slot">
|
||||
<param id="0" name="Instance variable">word</param>
|
||||
<param id="1" name="Value">btn_WordItem.text</param>
|
||||
</action>
|
||||
<action id="-5" name="Set width" sid="166802160277172" type="Slot">
|
||||
<param id="0" name="Width">btn_WordItem.Width</param>
|
||||
</action>
|
||||
<action id="-10" name="Set value" sid="116855994129968" type="btn_WordItem">
|
||||
<param id="0" name="Instance variable">slotIndex</param>
|
||||
<param id="1" name="Value">Slot.index</param>
|
||||
</action>
|
||||
<action id="15" name="Set Data" sid="842443888451723" type="SenaAI">
|
||||
<param id="0" name="Data 1">str(btn_WordItem.Text)</param>
|
||||
<param id="1" name="Data 2">str(Slot.index)</param>
|
||||
<param id="2" name="Data 3">""</param>
|
||||
<param id="3" name="Data 4">""</param>
|
||||
<param id="4" name="Data 5">""</param>
|
||||
</action>
|
||||
<action id="16" name="Post Message" sid="156485599688224" type="SenaAI" />
|
||||
</actions>
|
||||
</event-block>
|
||||
</sub-events>
|
||||
</event-block>
|
||||
<event-block sid="180540551233675">
|
||||
<conditions>
|
||||
<condition id="-22" name="Else" sid="806523891610870" type="System" />
|
||||
<condition id="-7" name="Compare instance variable" sid="831308228851461" type="btn_WordItem">
|
||||
<param id="0" name="Instance variable">slotIndex</param>
|
||||
<param id="1" name="Comparison">1</param>
|
||||
<param id="2" name="Value">-1</param>
|
||||
</condition>
|
||||
</conditions>
|
||||
<actions>
|
||||
<action behavior="MoveTo" id="1" name="Set maximum speed" sid="416883713281691" type="btn_WordItem">
|
||||
<param id="0" name="Max speed">1200</param>
|
||||
</action>
|
||||
<action behavior="MoveTo" id="4" name="Move to XY" sid="572186182608955" type="btn_WordItem">
|
||||
<param id="0" name="X">btn_WordItem.originX</param>
|
||||
<param id="1" name="Y">btn_WordItem.originY</param>
|
||||
</action>
|
||||
<action id="-10" name="Set value" sid="370498434376498" type="btn_WordItem">
|
||||
<param id="0" name="Instance variable">slotIndex</param>
|
||||
<param id="1" name="Value">-1</param>
|
||||
</action>
|
||||
<action id="-10" name="Add to" sid="250504698972287" type="System">
|
||||
<param id="0" name="Variable">filledCount</param>
|
||||
<param id="1" name="Value">-1</param>
|
||||
</action>
|
||||
<action id="15" name="Set Data" sid="506661306954504" type="SenaAI">
|
||||
<param id="0" name="Data 1">str(btn_WordItem.Text)</param>
|
||||
<param id="1" name="Data 2">"-1"</param>
|
||||
<param id="2" name="Data 3">"d3"</param>
|
||||
<param id="3" name="Data 4">"d4"</param>
|
||||
<param id="4" name="Data 5">"d5"</param>
|
||||
</action>
|
||||
<action id="16" name="Post Message" sid="412688010532382" type="SenaAI" />
|
||||
</actions>
|
||||
</event-block>
|
||||
<event-block sid="664272208282422">
|
||||
<conditions>
|
||||
<condition id="-22" name="Else" sid="895425177786413" type="System" />
|
||||
<condition id="-7" name="Compare instance variable" sid="246894625675163" type="btn_WordItem">
|
||||
<param id="0" name="Instance variable">slotIndex</param>
|
||||
<param id="1" name="Comparison">0</param>
|
||||
<param id="2" name="Value">-1</param>
|
||||
</condition>
|
||||
</conditions>
|
||||
<actions>
|
||||
<action behavior="MoveTo" id="1" name="Set maximum speed" sid="888826482377214" type="btn_WordItem">
|
||||
<param id="0" name="Max speed">1200</param>
|
||||
</action>
|
||||
<action behavior="MoveTo" id="4" name="Move to XY" sid="393405307018971" type="btn_WordItem">
|
||||
<param id="0" name="X">btn_WordItem.originX</param>
|
||||
<param id="1" name="Y">btn_WordItem.originY</param>
|
||||
</action>
|
||||
<action id="-10" name="Set value" sid="503673017513230" type="btn_WordItem">
|
||||
<param id="0" name="Instance variable">slotIndex</param>
|
||||
<param id="1" name="Value">-1</param>
|
||||
</action>
|
||||
<action id="15" name="Set Data" sid="872163608896537" type="SenaAI">
|
||||
<param id="0" name="Data 1">str(btn_WordItem.Text)</param>
|
||||
<param id="1" name="Data 2">"-1"</param>
|
||||
<param id="2" name="Data 3">"d3"</param>
|
||||
<param id="3" name="Data 4">"d4"</param>
|
||||
<param id="4" name="Data 5">"d5"</param>
|
||||
</action>
|
||||
<action id="16" name="Post Message" sid="249407021381141" type="SenaAI" />
|
||||
</actions>
|
||||
</event-block>
|
||||
</sub-events>
|
||||
</event-block>
|
||||
<event-block sid="818745098688947">
|
||||
<conditions>
|
||||
<condition id="-22" name="Else" sid="929804756669469" type="System" />
|
||||
<condition id="-7" name="Compare instance variable" sid="177859681995434" type="btn_WordItem">
|
||||
<param id="0" name="Instance variable">slotIndex</param>
|
||||
<param id="1" name="Comparison">1</param>
|
||||
<param id="2" name="Value">-1</param>
|
||||
</condition>
|
||||
</conditions>
|
||||
<actions>
|
||||
<action behavior="MoveTo" id="1" name="Set maximum speed" sid="449724002535088" type="btn_WordItem">
|
||||
<param id="0" name="Max speed">1200</param>
|
||||
</action>
|
||||
<action behavior="MoveTo" id="4" name="Move to XY" sid="721292388859295" type="btn_WordItem">
|
||||
<param id="0" name="X">btn_WordItem.originX</param>
|
||||
<param id="1" name="Y">btn_WordItem.originY</param>
|
||||
</action>
|
||||
<action id="-10" name="Set value" sid="733212651291432" type="btn_WordItem">
|
||||
<param id="0" name="Instance variable">slotIndex</param>
|
||||
<param id="1" name="Value">-1</param>
|
||||
</action>
|
||||
<action id="-10" name="Add to" sid="739300525987860" type="System">
|
||||
<param id="0" name="Variable">filledCount</param>
|
||||
<param id="1" name="Value">-1</param>
|
||||
</action>
|
||||
<action id="15" name="Set Data" sid="712656902299986" type="SenaAI">
|
||||
<param id="0" name="Data 1">str(btn_WordItem.Text)</param>
|
||||
<param id="1" name="Data 2">"-1"</param>
|
||||
<param id="2" name="Data 3">"d3"</param>
|
||||
<param id="3" name="Data 4">"d4"</param>
|
||||
<param id="4" name="Data 5">"d5"</param>
|
||||
</action>
|
||||
<action id="16" name="Post Message" sid="662902606044899" type="SenaAI" />
|
||||
</actions>
|
||||
</event-block>
|
||||
<event-block sid="358120937494399">
|
||||
<conditions>
|
||||
<condition id="-22" name="Else" sid="416712700522674" type="System" />
|
||||
<condition id="-7" name="Compare instance variable" sid="261187518957115" type="btn_WordItem">
|
||||
<param id="0" name="Instance variable">slotIndex</param>
|
||||
<param id="1" name="Comparison">0</param>
|
||||
<param id="2" name="Value">-1</param>
|
||||
</condition>
|
||||
</conditions>
|
||||
<actions>
|
||||
<action behavior="MoveTo" id="1" name="Set maximum speed" sid="431242330954619" type="btn_WordItem">
|
||||
<param id="0" name="Max speed">1200</param>
|
||||
</action>
|
||||
<action behavior="MoveTo" id="4" name="Move to XY" sid="754072653542168" type="btn_WordItem">
|
||||
<param id="0" name="X">btn_WordItem.originX</param>
|
||||
<param id="1" name="Y">btn_WordItem.originY</param>
|
||||
</action>
|
||||
<action id="-10" name="Set value" sid="272960877861772" type="btn_WordItem">
|
||||
<param id="0" name="Instance variable">slotIndex</param>
|
||||
<param id="1" name="Value">-1</param>
|
||||
</action>
|
||||
<action id="15" name="Set Data" sid="303992708864385" type="SenaAI">
|
||||
<param id="0" name="Data 1">str(btn_WordItem.Text)</param>
|
||||
<param id="1" name="Data 2">"-1"</param>
|
||||
<param id="2" name="Data 3">"d3"</param>
|
||||
<param id="3" name="Data 4">"d4"</param>
|
||||
<param id="4" name="Data 5">"d5"</param>
|
||||
</action>
|
||||
<action id="16" name="Post Message" sid="102997629264439" type="SenaAI" />
|
||||
</actions>
|
||||
</event-block>
|
||||
<event-block sid="701043374178700">
|
||||
<conditions>
|
||||
<condition id="-7" name="Compare instance variable" sid="425036129926507" type="Slot">
|
||||
<param id="0" name="Instance variable">word</param>
|
||||
<param id="1" name="Comparison">0</param>
|
||||
<param id="2" name="Value">"_"</param>
|
||||
</condition>
|
||||
</conditions>
|
||||
<actions>
|
||||
<action id="-5" name="Set width" sid="490670519672817" type="Slot">
|
||||
<param id="0" name="Width">200</param>
|
||||
</action>
|
||||
</actions>
|
||||
</event-block>
|
||||
</sub-events>
|
||||
</event-block>
|
||||
<event-block sid="580675938654997">
|
||||
<conditions>
|
||||
<condition behavior="DragDrop" id="0" name="Is dragging" sid="411147921527630" type="btn_WordItem" />
|
||||
</conditions>
|
||||
<actions>
|
||||
<action disabled="1" id="-3" name="Set position" sid="610567804677855" type="btn_WordItem">
|
||||
<param id="0" name="X">Touch.X</param>
|
||||
<param id="1" name="Y">Touch.Y</param>
|
||||
</action>
|
||||
</actions>
|
||||
</event-block>
|
||||
<event-block sid="622060364017684">
|
||||
<conditions>
|
||||
<condition id="-1" name="Every tick" sid="228576696549219" type="System" />
|
||||
</conditions>
|
||||
<actions />
|
||||
<sub-events>
|
||||
<event-block sid="108730370076990">
|
||||
<conditions>
|
||||
<condition id="-14" name="Compare variable" sid="538413628199561" type="System">
|
||||
<param id="0" name="Variable">filledCount</param>
|
||||
<param id="1" name="Comparison">0</param>
|
||||
<param id="2" name="Value">end</param>
|
||||
</condition>
|
||||
</conditions>
|
||||
<actions>
|
||||
<action id="-15" name="Set visible" sid="445242465744130" type="btn_check">
|
||||
<param id="0" name="Visibility">1</param>
|
||||
</action>
|
||||
</actions>
|
||||
</event-block>
|
||||
<event-block sid="218835501607731">
|
||||
<conditions>
|
||||
<condition id="-22" name="Else" sid="933470660702724" type="System" />
|
||||
</conditions>
|
||||
<actions>
|
||||
<action id="-15" name="Set visible" sid="797052197521566" type="btn_check">
|
||||
<param id="0" name="Visibility">0</param>
|
||||
</action>
|
||||
</actions>
|
||||
</event-block>
|
||||
</sub-events>
|
||||
</event-block>
|
||||
<event-block sid="382266478838536">
|
||||
<conditions>
|
||||
<condition behavior="DragDrop" id="2" name="On drop" sid="468373822389217" type="btn_WordItem" />
|
||||
</conditions>
|
||||
<actions />
|
||||
<sub-events>
|
||||
<event-block sid="669608212668633">
|
||||
<conditions>
|
||||
<condition id="-11" name="For Each" sid="763136610920305" type="System">
|
||||
<param id="0" name="Object">Slot</param>
|
||||
</condition>
|
||||
</conditions>
|
||||
<actions>
|
||||
<action id="35" name="Set Object Width" sid="216937320154014" type="SenaAI">
|
||||
<param id="0" name="Index">loopindex</param>
|
||||
<param id="1" name="Width">Slot.Width</param>
|
||||
</action>
|
||||
</actions>
|
||||
</event-block>
|
||||
<event-block sid="557294689920251">
|
||||
<conditions />
|
||||
<actions>
|
||||
<action id="12" name="Calculate Object Positions" sid="903284616101407" type="SenaAI">
|
||||
<param id="0" name="Count">int( SenaAI.getHintCount )</param>
|
||||
<param id="1" name="Object Width">0</param>
|
||||
<param id="2" name="Margin">5</param>
|
||||
<param id="3" name="Max Width">1200</param>
|
||||
<param id="4" name="Row Break">0</param>
|
||||
<param id="5" name="Row Gap">100</param>
|
||||
<param id="6" name="Type">"slot2"</param>
|
||||
<param id="7" name="Group Gap">0</param>
|
||||
</action>
|
||||
</actions>
|
||||
</event-block>
|
||||
</sub-events>
|
||||
</event-block>
|
||||
</events>
|
||||
</c2eventsheet>
|
||||
51
source/Test/Event sheets/Event sheet 1.uistate.xml
Normal file
@@ -0,0 +1,51 @@
|
||||
<?xml version="1.0" encoding="utf-8" ?>
|
||||
<c2uistate>
|
||||
<!--This is a UI state file - its content describes the user interface settings when the event sheet was last open.
|
||||
It is entirely optional and the project will load without it. If you are placing the project under source control,
|
||||
you probably do not want to add any .uistate.xml files to the repository.-->
|
||||
<show-addaction-links>1</show-addaction-links>
|
||||
<scroll-pos>1422</scroll-pos>
|
||||
<conditions-column>777</conditions-column>
|
||||
<actions-namecolumn>92</actions-namecolumn>
|
||||
<condition-namecolumns>
|
||||
<nest>64</nest>
|
||||
<nest>120</nest>
|
||||
<nest>98</nest>
|
||||
<nest>18</nest>
|
||||
<nest>18</nest>
|
||||
<nest>18</nest>
|
||||
<nest>18</nest>
|
||||
<nest>18</nest>
|
||||
<nest>18</nest>
|
||||
<nest>18</nest>
|
||||
<nest>18</nest>
|
||||
<nest>18</nest>
|
||||
<nest>18</nest>
|
||||
<nest>18</nest>
|
||||
<nest>18</nest>
|
||||
<nest>18</nest>
|
||||
<nest>18</nest>
|
||||
<nest>18</nest>
|
||||
<nest>18</nest>
|
||||
<nest>18</nest>
|
||||
<nest>18</nest>
|
||||
<nest>18</nest>
|
||||
<nest>18</nest>
|
||||
<nest>18</nest>
|
||||
<nest>18</nest>
|
||||
<nest>18</nest>
|
||||
<nest>18</nest>
|
||||
<nest>18</nest>
|
||||
<nest>18</nest>
|
||||
<nest>18</nest>
|
||||
<nest>18</nest>
|
||||
<nest>18</nest>
|
||||
<nest>18</nest>
|
||||
<nest>18</nest>
|
||||
<nest>18</nest>
|
||||
<nest>18</nest>
|
||||
<nest>18</nest>
|
||||
<nest>15</nest>
|
||||
</condition-namecolumns>
|
||||
<events />
|
||||
</c2uistate>
|
||||
928
source/Test/Event sheets/Event sheet 1.xml
Normal file
@@ -0,0 +1,928 @@
|
||||
<?xml version="1.0" encoding="utf-8" ?>
|
||||
<c2eventsheet>
|
||||
<!--All the 'name' attributes are ignored by Construct 2 - they are there for readability only.-->
|
||||
<name>Event sheet 1</name>
|
||||
<events>
|
||||
<include>move</include>
|
||||
<include>DrapDrop</include>
|
||||
<variable constant="0" name="Paused" sid="881036884152158" static="0" type="number">0</variable>
|
||||
<variable constant="0" name="end" sid="348658772353398" static="0" type="number">-1</variable>
|
||||
<variable constant="0" name="isTimeUp" sid="617056362802034" static="0" type="number">0</variable>
|
||||
<variable constant="0" name="timeLeft" sid="670843326082385" static="0" type="number">0</variable>
|
||||
<variable constant="0" name="answer" sid="538561721013949" static="0" type="text"></variable>
|
||||
<event-block sid="421297551205104">
|
||||
<conditions>
|
||||
<condition id="-2" name="On start of layout" sid="438843515576193" type="System" />
|
||||
</conditions>
|
||||
<actions>
|
||||
<action id="0" name="Load" sid="551138518888793" type="SenaAI" />
|
||||
<action id="-4" name="Set layer visible" sid="392038834754127" type="System">
|
||||
<param id="0" name="Layer">2</param>
|
||||
<param id="1" name="Visibility">0</param>
|
||||
</action>
|
||||
<action id="-9" name="Destroy" sid="227093858363506" type="Slot" />
|
||||
<action id="-9" name="Destroy" sid="601277174090980" type="btn_WordItem" />
|
||||
</actions>
|
||||
</event-block>
|
||||
<event-block sid="432411265738905">
|
||||
<conditions>
|
||||
<condition id="0" name="On LOAD Complete" sid="913106290597646" type="SenaAI" />
|
||||
</conditions>
|
||||
<actions>
|
||||
<action id="14" name="Log" sid="260483465573520" type="Browser">
|
||||
<param id="0" name="Type">0</param>
|
||||
<param id="1" name="Message">"Load dữ liệu xong"</param>
|
||||
</action>
|
||||
<action id="14" name="Log" sid="330854144982241" type="Browser">
|
||||
<param id="0" name="Type">0</param>
|
||||
<param id="1" name="Message">SenaAI.getGuide</param>
|
||||
</action>
|
||||
</actions>
|
||||
<sub-events>
|
||||
<comment>Bắt đầu gọi Start để tính thời gian làm bài</comment>
|
||||
<event-block sid="122100426567399">
|
||||
<conditions />
|
||||
<actions>
|
||||
<action id="1" name="Start" sid="458181517098292" type="SenaAI" />
|
||||
</actions>
|
||||
</event-block>
|
||||
</sub-events>
|
||||
</event-block>
|
||||
<event-block sid="495673204159818">
|
||||
<conditions>
|
||||
<condition id="1" name="On Start question" sid="157454832331304" type="SenaAI" />
|
||||
</conditions>
|
||||
<actions>
|
||||
<action id="14" name="Log" sid="816803828558793" type="Browser">
|
||||
<param id="0" name="Type">0</param>
|
||||
<param id="1" name="Message">"Question :"&SenaAI.getQuestionType&" with value : "&SenaAI.getQuestionValue</param>
|
||||
</action>
|
||||
<action id="14" name="Log" sid="585706784629547" type="Browser">
|
||||
<param id="0" name="Type">0</param>
|
||||
<param id="1" name="Message">"Request :"&SenaAI.getRequestType&" with value : "&SenaAI.getRequestValue</param>
|
||||
</action>
|
||||
<action id="14" name="Log" sid="103090682922262" type="Browser">
|
||||
<param id="0" name="Type">0</param>
|
||||
<param id="1" name="Message">"Options Count :"&SenaAI.getOptionsCount</param>
|
||||
</action>
|
||||
<action id="14" name="Log" sid="460050924307031" type="Browser">
|
||||
<param id="0" name="Type">0</param>
|
||||
<param id="1" name="Message">"Hint Count :"&SenaAI.getHintCount</param>
|
||||
</action>
|
||||
<action id="-9" name="Set value" sid="623599131030475" type="System">
|
||||
<param id="0" name="Variable">isTimeUp</param>
|
||||
<param id="1" name="Value">0</param>
|
||||
</action>
|
||||
<action behavior="Pin" id="0" name="Pin to object" sid="210783341114782" type="txt_question">
|
||||
<param id="0" name="Pin to">panel</param>
|
||||
<param id="1" name="Mode">0</param>
|
||||
</action>
|
||||
<action behavior="Pin" id="0" name="Pin to object" sid="636254900159958" type="txt_TextTimer">
|
||||
<param id="0" name="Pin to">SenaaiKhoi</param>
|
||||
<param id="1" name="Mode">0</param>
|
||||
</action>
|
||||
<action id="0" name="Set text" sid="808593987399542" type="txt_question">
|
||||
<param id="0" name="Text">SenaAI.getQuestionValue</param>
|
||||
</action>
|
||||
<action id="-10" name="Set value" sid="756761854102448" type="btn_Pause">
|
||||
<param id="0" name="Instance variable">originX</param>
|
||||
<param id="1" name="Value">Self.X</param>
|
||||
</action>
|
||||
<action id="-10" name="Set value" sid="843231659647898" type="btn_Pause">
|
||||
<param id="0" name="Instance variable">originY</param>
|
||||
<param id="1" name="Value">Self.Y</param>
|
||||
</action>
|
||||
<action id="-3" name="Set position" sid="429067541495196" type="btn_Pause">
|
||||
<param id="0" name="X">btn_setting.X</param>
|
||||
<param id="1" name="Y">btn_setting.Y</param>
|
||||
</action>
|
||||
<action id="-10" name="Set value" sid="312955471850139" type="btn_music">
|
||||
<param id="0" name="Instance variable">originX</param>
|
||||
<param id="1" name="Value">Self.X</param>
|
||||
</action>
|
||||
<action id="-10" name="Set value" sid="725880314927928" type="btn_music">
|
||||
<param id="0" name="Instance variable">originY</param>
|
||||
<param id="1" name="Value">Self.Y</param>
|
||||
</action>
|
||||
<action id="-3" name="Set position" sid="588637745430653" type="btn_music">
|
||||
<param id="0" name="X">btn_setting.X</param>
|
||||
<param id="1" name="Y">btn_setting.Y</param>
|
||||
</action>
|
||||
<action id="10" name="Load image from URL" sid="679165227027517" type="IMG">
|
||||
<param id="0" name="URI">SenaAI.getQuestionImage</param>
|
||||
<param id="1" name="Size">1</param>
|
||||
<param id="2" name="Cross-origin">0</param>
|
||||
</action>
|
||||
</actions>
|
||||
<sub-events>
|
||||
<event-block sid="822104816469346">
|
||||
<conditions />
|
||||
<actions />
|
||||
<sub-events>
|
||||
<event-block sid="922818724982241">
|
||||
<conditions>
|
||||
<condition id="-12" name="Repeat" sid="578727808501421" type="System">
|
||||
<param id="0" name="Count">int( SenaAI.getHintCount )</param>
|
||||
</condition>
|
||||
</conditions>
|
||||
<actions>
|
||||
<action id="14" name="Log" sid="807666034483826" type="Browser">
|
||||
<param id="0" name="Type">0</param>
|
||||
<param id="1" name="Message">"Hint "&loopindex&" : "&SenaAI.getHintType&" with value : "&SenaAI.getHintValue(loopindex)</param>
|
||||
</action>
|
||||
<action id="-3" name="Create object" sid="651771033828547" type="System">
|
||||
<param id="0" name="Object to create">Slot</param>
|
||||
<param id="1" name="Layer">1</param>
|
||||
<param id="2" name="X">0</param>
|
||||
<param id="3" name="Y">0</param>
|
||||
</action>
|
||||
<action id="-10" name="Set value" sid="704622762564719" type="Slot">
|
||||
<param id="0" name="Instance variable">index</param>
|
||||
<param id="1" name="Value">loopindex</param>
|
||||
</action>
|
||||
<action id="-10" name="Set value" sid="695187469527078" type="Slot">
|
||||
<param id="0" name="Instance variable">word</param>
|
||||
<param id="1" name="Value">SenaAI.getHintValue(loopindex)</param>
|
||||
</action>
|
||||
</actions>
|
||||
<sub-events>
|
||||
<event-block sid="604960297620975">
|
||||
<conditions>
|
||||
<condition id="-8" name="Compare two values" sid="844495449650107" type="System">
|
||||
<param id="0" name="First value">SenaAI.getHintValue(loopindex)</param>
|
||||
<param id="1" name="Comparison">1</param>
|
||||
<param id="2" name="Second value">"_"</param>
|
||||
</condition>
|
||||
</conditions>
|
||||
<actions>
|
||||
<action id="-13" name="Set boolean" sid="823022840733889" type="Slot">
|
||||
<param id="0" name="Instance variable">locked</param>
|
||||
<param id="1" name="Value">1</param>
|
||||
</action>
|
||||
<action id="-3" name="Create object" sid="958284889834122" type="System">
|
||||
<param id="0" name="Object to create">txt_Slot</param>
|
||||
<param id="1" name="Layer">1</param>
|
||||
<param id="2" name="X">Slot.X</param>
|
||||
<param id="3" name="Y">Slot.Y</param>
|
||||
</action>
|
||||
<action behavior="Pin" id="0" name="Pin to object" sid="825467296870188" type="txt_Slot">
|
||||
<param id="0" name="Pin to">Slot</param>
|
||||
<param id="1" name="Mode">0</param>
|
||||
</action>
|
||||
<action id="0" name="Set text" sid="803189241402852" type="txt_Slot">
|
||||
<param id="0" name="Text">Slot.word</param>
|
||||
</action>
|
||||
<action id="5" name="Set frame" sid="856529103233458" type="Slot">
|
||||
<param id="0" name="Frame number">1</param>
|
||||
</action>
|
||||
<action id="-5" name="Set width" sid="785587981903003" type="Slot">
|
||||
<param id="0" name="Width">txt_Slot.TextWidth + 40</param>
|
||||
</action>
|
||||
<action id="35" name="Set Object Width" sid="305159202206615" type="SenaAI">
|
||||
<param id="0" name="Index">loopindex</param>
|
||||
<param id="1" name="Width">Slot.Width</param>
|
||||
</action>
|
||||
<action id="-9" name="Destroy" sid="247694523519901" type="txt_Slot" />
|
||||
<action id="-9" name="Destroy" sid="469126797493941" type="Slot" />
|
||||
</actions>
|
||||
</event-block>
|
||||
<event-block sid="785602319872296">
|
||||
<conditions>
|
||||
<condition id="-22" name="Else" sid="563695588455666" type="System" />
|
||||
</conditions>
|
||||
<actions>
|
||||
<action id="-13" name="Set boolean" sid="921480770631311" type="Slot">
|
||||
<param id="0" name="Instance variable">locked</param>
|
||||
<param id="1" name="Value">0</param>
|
||||
</action>
|
||||
<action id="5" name="Set frame" sid="666455255522669" type="Slot">
|
||||
<param id="0" name="Frame number">0</param>
|
||||
</action>
|
||||
<action id="35" name="Set Object Width" sid="890029307940799" type="SenaAI">
|
||||
<param id="0" name="Index">loopindex</param>
|
||||
<param id="1" name="Width">Slot.Width</param>
|
||||
</action>
|
||||
<action id="-9" name="Destroy" sid="284415432774208" type="Slot" />
|
||||
</actions>
|
||||
</event-block>
|
||||
</sub-events>
|
||||
</event-block>
|
||||
<event-block sid="920731157755918">
|
||||
<conditions />
|
||||
<actions>
|
||||
<action id="12" name="Calculate Object Positions" sid="643973518572382" type="SenaAI">
|
||||
<param id="0" name="Count">int( SenaAI.getHintCount )</param>
|
||||
<param id="1" name="Object Width">0</param>
|
||||
<param id="2" name="Margin">5</param>
|
||||
<param id="3" name="Max Width">1200</param>
|
||||
<param id="4" name="Row Break">0</param>
|
||||
<param id="5" name="Row Gap">100</param>
|
||||
<param id="6" name="Type">"slot"</param>
|
||||
<param id="7" name="Group Gap">0</param>
|
||||
</action>
|
||||
</actions>
|
||||
</event-block>
|
||||
<event-block sid="441467613146144">
|
||||
<conditions>
|
||||
<condition id="-12" name="Repeat" sid="218190693390519" type="System">
|
||||
<param id="0" name="Count">int( SenaAI.getOptionsCount )</param>
|
||||
</condition>
|
||||
</conditions>
|
||||
<actions>
|
||||
<action id="-3" name="Create object" sid="722355474670048" type="System">
|
||||
<param id="0" name="Object to create">btn_WordItem</param>
|
||||
<param id="1" name="Layer">1</param>
|
||||
<param id="2" name="X">0</param>
|
||||
<param id="3" name="Y">0</param>
|
||||
</action>
|
||||
<action id="-10" name="Set value" sid="811282502817081" type="btn_WordItem">
|
||||
<param id="0" name="Instance variable">text</param>
|
||||
<param id="1" name="Value">SenaAI.getOptionsValue(loopindex)</param>
|
||||
</action>
|
||||
<action id="-3" name="Create object" sid="820542104698850" type="System">
|
||||
<param id="0" name="Object to create">txt_WordItem</param>
|
||||
<param id="1" name="Layer">1</param>
|
||||
<param id="2" name="X">btn_WordItem.X</param>
|
||||
<param id="3" name="Y">btn_WordItem.Y</param>
|
||||
</action>
|
||||
<action behavior="Pin" id="0" name="Pin to object" sid="165265909130423" type="txt_WordItem">
|
||||
<param id="0" name="Pin to">btn_WordItem</param>
|
||||
<param id="1" name="Mode">0</param>
|
||||
</action>
|
||||
<action id="0" name="Set text" sid="752256115955919" type="txt_WordItem">
|
||||
<param id="0" name="Text">btn_WordItem.text</param>
|
||||
</action>
|
||||
<action id="-5" name="Set width" sid="155561272720672" type="btn_WordItem">
|
||||
<param id="0" name="Width">txt_WordItem.TextWidth + 40</param>
|
||||
</action>
|
||||
<action id="35" name="Set Object Width" sid="692927617920425" type="SenaAI">
|
||||
<param id="0" name="Index">loopindex</param>
|
||||
<param id="1" name="Width">btn_WordItem.Width</param>
|
||||
</action>
|
||||
<action id="-9" name="Destroy" sid="864841283022193" type="txt_WordItem" />
|
||||
<action id="-9" name="Destroy" sid="576092429841287" type="btn_WordItem" />
|
||||
</actions>
|
||||
</event-block>
|
||||
<event-block sid="848165074712850">
|
||||
<conditions />
|
||||
<actions>
|
||||
<action id="12" name="Calculate Object Positions" sid="737719939649407" type="SenaAI">
|
||||
<param id="0" name="Count">int( SenaAI.getOptionsCount )</param>
|
||||
<param id="1" name="Object Width">0</param>
|
||||
<param id="2" name="Margin">5</param>
|
||||
<param id="3" name="Max Width">1200</param>
|
||||
<param id="4" name="Row Break">0</param>
|
||||
<param id="5" name="Row Gap">100</param>
|
||||
<param id="6" name="Type">"word"</param>
|
||||
<param id="7" name="Group Gap">0</param>
|
||||
</action>
|
||||
<action id="-2" name="Set Y" sid="256704970269789" type="btn_check">
|
||||
<param id="0" name="Y">SenaAI.getPosYbyIndex(0) + 740</param>
|
||||
</action>
|
||||
</actions>
|
||||
</event-block>
|
||||
</sub-events>
|
||||
</event-block>
|
||||
</sub-events>
|
||||
</event-block>
|
||||
<event-block sid="997314674077454">
|
||||
<conditions>
|
||||
<condition id="9" name="On Word Layout Finished" sid="556163418608689" type="SenaAI" />
|
||||
</conditions>
|
||||
<actions />
|
||||
<sub-events>
|
||||
<event-block sid="355153915147616">
|
||||
<conditions>
|
||||
<condition id="-12" name="Repeat" sid="479740563968203" type="System">
|
||||
<param id="0" name="Count">int( SenaAI.getOptionsCount )</param>
|
||||
</condition>
|
||||
</conditions>
|
||||
<actions>
|
||||
<action id="14" name="Log" sid="689103076681826" type="Browser">
|
||||
<param id="0" name="Type">0</param>
|
||||
<param id="1" name="Message">"Options "&loopindex&" : "&SenaAI.getOptionsType&" with value : "&SenaAI.getOptionsValue(loopindex)</param>
|
||||
</action>
|
||||
<action id="-3" name="Create object" sid="536021616792282" type="System">
|
||||
<param id="0" name="Object to create">btn_WordItem</param>
|
||||
<param id="1" name="Layer">1</param>
|
||||
<param id="2" name="X">SenaAI.getPosXbyIndex(loopindex)</param>
|
||||
<param id="3" name="Y">SenaAI.getPosYbyIndex(loopindex) + 720</param>
|
||||
</action>
|
||||
<action id="-10" name="Set value" sid="491204402301957" type="btn_WordItem">
|
||||
<param id="0" name="Instance variable">num</param>
|
||||
<param id="1" name="Value">loopindex</param>
|
||||
</action>
|
||||
<action id="-10" name="Set value" sid="925119020627679" type="btn_WordItem">
|
||||
<param id="0" name="Instance variable">text</param>
|
||||
<param id="1" name="Value">SenaAI.getOptionsValue(loopindex)</param>
|
||||
</action>
|
||||
<action id="-10" name="Set value" sid="279026344200979" type="btn_WordItem">
|
||||
<param id="0" name="Instance variable">slotIndex</param>
|
||||
<param id="1" name="Value">-1</param>
|
||||
</action>
|
||||
<action id="-10" name="Set value" sid="641677468774405" type="btn_WordItem">
|
||||
<param id="0" name="Instance variable">originX</param>
|
||||
<param id="1" name="Value">Self.X</param>
|
||||
</action>
|
||||
<action id="-10" name="Set value" sid="774280661547726" type="btn_WordItem">
|
||||
<param id="0" name="Instance variable">originY</param>
|
||||
<param id="1" name="Value">Self.Y</param>
|
||||
</action>
|
||||
<action id="35" name="Set Object Width" sid="103271143582978" type="SenaAI">
|
||||
<param id="0" name="Index">loopindex</param>
|
||||
<param id="1" name="Width">btn_WordItem.Width</param>
|
||||
</action>
|
||||
<action id="-3" name="Create object" sid="100725827513558" type="System">
|
||||
<param id="0" name="Object to create">txt_WordItem</param>
|
||||
<param id="1" name="Layer">1</param>
|
||||
<param id="2" name="X">btn_WordItem.X</param>
|
||||
<param id="3" name="Y">btn_WordItem.Y</param>
|
||||
</action>
|
||||
<action behavior="Pin" id="0" name="Pin to object" sid="505562954529213" type="txt_WordItem">
|
||||
<param id="0" name="Pin to">btn_WordItem</param>
|
||||
<param id="1" name="Mode">0</param>
|
||||
</action>
|
||||
<action id="0" name="Set text" sid="391419035005796" type="txt_WordItem">
|
||||
<param id="0" name="Text">btn_WordItem.text</param>
|
||||
</action>
|
||||
<action id="-5" name="Set width" sid="860988481953726" type="btn_WordItem">
|
||||
<param id="0" name="Width">txt_WordItem.TextWidth + 40</param>
|
||||
</action>
|
||||
</actions>
|
||||
</event-block>
|
||||
</sub-events>
|
||||
</event-block>
|
||||
<event-block sid="388616216124882">
|
||||
<conditions>
|
||||
<condition id="10" name="On Slot Layout Finished" sid="873344899497889" type="SenaAI" />
|
||||
</conditions>
|
||||
<actions />
|
||||
<sub-events>
|
||||
<event-block sid="227594386821892">
|
||||
<conditions>
|
||||
<condition id="-12" name="Repeat" sid="788089564561534" type="System">
|
||||
<param id="0" name="Count">int( SenaAI.getHintCount )</param>
|
||||
</condition>
|
||||
</conditions>
|
||||
<actions>
|
||||
<action id="14" name="Log" sid="538515159765835" type="Browser">
|
||||
<param id="0" name="Type">0</param>
|
||||
<param id="1" name="Message">"Hint "&loopindex&" : "&SenaAI.getHintType&" with value : "&SenaAI.getHintValue(loopindex)</param>
|
||||
</action>
|
||||
<action id="-3" name="Create object" sid="917423513497860" type="System">
|
||||
<param id="0" name="Object to create">Slot</param>
|
||||
<param id="1" name="Layer">1</param>
|
||||
<param id="2" name="X">SenaAI.getPosXbyIndex(loopindex)</param>
|
||||
<param id="3" name="Y">SenaAI.getPosYbyIndex(loopindex) + 700</param>
|
||||
</action>
|
||||
<action id="-10" name="Set value" sid="885155242519331" type="Slot">
|
||||
<param id="0" name="Instance variable">index</param>
|
||||
<param id="1" name="Value">loopindex</param>
|
||||
</action>
|
||||
<action id="-10" name="Set value" sid="170311315024008" type="Slot">
|
||||
<param id="0" name="Instance variable">word</param>
|
||||
<param id="1" name="Value">SenaAI.getHintValue(loopindex)</param>
|
||||
</action>
|
||||
</actions>
|
||||
<sub-events>
|
||||
<event-block sid="932083303817316">
|
||||
<conditions>
|
||||
<condition id="-8" name="Compare two values" sid="832596978727902" type="System">
|
||||
<param id="0" name="First value">SenaAI.getHintValue(loopindex)</param>
|
||||
<param id="1" name="Comparison">1</param>
|
||||
<param id="2" name="Second value">"_"</param>
|
||||
</condition>
|
||||
</conditions>
|
||||
<actions>
|
||||
<action id="-13" name="Set boolean" sid="674435878930204" type="Slot">
|
||||
<param id="0" name="Instance variable">locked</param>
|
||||
<param id="1" name="Value">1</param>
|
||||
</action>
|
||||
<action id="-3" name="Create object" sid="598659803385515" type="System">
|
||||
<param id="0" name="Object to create">txt_Slot</param>
|
||||
<param id="1" name="Layer">1</param>
|
||||
<param id="2" name="X">Slot.X</param>
|
||||
<param id="3" name="Y">Slot.Y</param>
|
||||
</action>
|
||||
<action behavior="Pin" id="0" name="Pin to object" sid="988991898604501" type="txt_Slot">
|
||||
<param id="0" name="Pin to">Slot</param>
|
||||
<param id="1" name="Mode">0</param>
|
||||
</action>
|
||||
<action id="0" name="Set text" sid="972496488135703" type="txt_Slot">
|
||||
<param id="0" name="Text">Slot.word</param>
|
||||
</action>
|
||||
<action id="5" name="Set frame" sid="151981119976494" type="Slot">
|
||||
<param id="0" name="Frame number">1</param>
|
||||
</action>
|
||||
<action id="-5" name="Set width" sid="854754102590480" type="Slot">
|
||||
<param id="0" name="Width">txt_Slot.TextWidth + 40</param>
|
||||
</action>
|
||||
<action id="35" name="Set Object Width" sid="475492564317210" type="SenaAI">
|
||||
<param id="0" name="Index">loopindex</param>
|
||||
<param id="1" name="Width">Slot.Width</param>
|
||||
</action>
|
||||
</actions>
|
||||
</event-block>
|
||||
<event-block sid="253535619821753">
|
||||
<conditions>
|
||||
<condition id="-22" name="Else" sid="596843830651572" type="System" />
|
||||
</conditions>
|
||||
<actions>
|
||||
<action id="-13" name="Set boolean" sid="474962435503345" type="Slot">
|
||||
<param id="0" name="Instance variable">locked</param>
|
||||
<param id="1" name="Value">0</param>
|
||||
</action>
|
||||
<action id="5" name="Set frame" sid="463298175284581" type="Slot">
|
||||
<param id="0" name="Frame number">0</param>
|
||||
</action>
|
||||
<action id="35" name="Set Object Width" sid="380730123367630" type="SenaAI">
|
||||
<param id="0" name="Index">loopindex</param>
|
||||
<param id="1" name="Width">Slot.Width</param>
|
||||
</action>
|
||||
<action id="-10" name="Add to" sid="125836199326093" type="System">
|
||||
<param id="0" name="Variable">end</param>
|
||||
<param id="1" name="Value">1</param>
|
||||
</action>
|
||||
</actions>
|
||||
</event-block>
|
||||
</sub-events>
|
||||
</event-block>
|
||||
</sub-events>
|
||||
</event-block>
|
||||
<event-block sid="137496831767080">
|
||||
<conditions>
|
||||
<condition id="36" name="On Slot Layout Finished 2" sid="346135299892592" type="SenaAI" />
|
||||
</conditions>
|
||||
<actions />
|
||||
<sub-events>
|
||||
<event-block sid="916974100288240">
|
||||
<conditions>
|
||||
<condition id="-11" name="For Each" sid="543455768136315" type="System">
|
||||
<param id="0" name="Object">Slot</param>
|
||||
</condition>
|
||||
</conditions>
|
||||
<actions>
|
||||
<action id="-3" name="Set position" sid="417809743337938" type="Slot">
|
||||
<param id="0" name="X">SenaAI.getPosXbyIndex(loopindex)</param>
|
||||
<param id="1" name="Y">SenaAI.getPosYbyIndex(loopindex) + 700</param>
|
||||
</action>
|
||||
</actions>
|
||||
<sub-events>
|
||||
<event-block sid="879941464486947">
|
||||
<conditions>
|
||||
<condition id="-33" name="Pick by comparison" sid="417542307709594" type="System">
|
||||
<param id="0" name="Object">btn_WordItem</param>
|
||||
<param id="1" name="Expression">btn_WordItem.slotIndex</param>
|
||||
<param id="2" name="Comparison">0</param>
|
||||
<param id="3" name="Value">Slot.index</param>
|
||||
</condition>
|
||||
</conditions>
|
||||
<actions>
|
||||
<action behavior="MoveTo" disabled="1" id="1" name="Set maximum speed" sid="966187321359498" type="btn_WordItem">
|
||||
<param id="0" name="Max speed">350</param>
|
||||
</action>
|
||||
<action behavior="MoveTo" disabled="1" id="4" name="Move to XY" sid="282578636460119" type="btn_WordItem">
|
||||
<param id="0" name="X">Slot.X</param>
|
||||
<param id="1" name="Y">Slot.Y</param>
|
||||
</action>
|
||||
<action id="-3" name="Set position" sid="848187759165276" type="btn_WordItem">
|
||||
<param id="0" name="X">Slot.X</param>
|
||||
<param id="1" name="Y">Slot.Y</param>
|
||||
</action>
|
||||
</actions>
|
||||
</event-block>
|
||||
</sub-events>
|
||||
</event-block>
|
||||
</sub-events>
|
||||
</event-block>
|
||||
<event-block sid="763597622682356">
|
||||
<conditions>
|
||||
<condition id="3" name="On touched object" sid="148754164973502" type="Touch">
|
||||
<param id="0" name="Object">btn_check</param>
|
||||
</condition>
|
||||
<condition id="-9" name="Is visible" sid="378361995735280" type="btn_check" />
|
||||
<condition id="-14" name="Compare variable" sid="162773589948112" type="System">
|
||||
<param id="0" name="Variable">Paused</param>
|
||||
<param id="1" name="Comparison">0</param>
|
||||
<param id="2" name="Value">0</param>
|
||||
</condition>
|
||||
</conditions>
|
||||
<actions>
|
||||
<action id="0" name="Play" sid="875006900842783" type="Audio">
|
||||
<param id="0" name="Audio file">click</param>
|
||||
<param id="2" name="Loop">0</param>
|
||||
<param id="3" name="Volume">-2</param>
|
||||
<param id="1" name="Tag (optional)">""</param>
|
||||
</action>
|
||||
<action id="9" name="Pause Game" sid="517084261342335" type="SenaAI" />
|
||||
<action behavior="DragDrop" id="0" name="Set enabled" sid="352636312980555" type="btn_WordItem">
|
||||
<param id="0" name="State">0</param>
|
||||
</action>
|
||||
<action id="-9" name="Set value" sid="898398251674971" type="System">
|
||||
<param id="0" name="Variable">answer</param>
|
||||
<param id="1" name="Value">""</param>
|
||||
</action>
|
||||
<action id="0" name="Call function" sid="883647667738561" type="Function">
|
||||
<param id="0" name="Name">"currentAnswer"</param>
|
||||
<param id="1" name="Parameter {n}"></param>
|
||||
</action>
|
||||
<action id="-16" name="Wait" sid="512432222163791" type="System">
|
||||
<param id="0" name="Seconds">3</param>
|
||||
</action>
|
||||
</actions>
|
||||
</event-block>
|
||||
<event-block sid="136988596360100">
|
||||
<conditions>
|
||||
<condition id="3" name="On Correct Answer" sid="156300277320938" type="SenaAI" />
|
||||
</conditions>
|
||||
<actions>
|
||||
<action id="0" name="Play" sid="852018787691909" type="Audio">
|
||||
<param id="0" name="Audio file">correct</param>
|
||||
<param id="2" name="Loop">0</param>
|
||||
<param id="3" name="Volume">-2</param>
|
||||
<param id="1" name="Tag (optional)">""</param>
|
||||
</action>
|
||||
<action id="-3" name="Create object" sid="875693788454205" type="System">
|
||||
<param id="0" name="Object to create">checker_wrong_correct</param>
|
||||
<param id="1" name="Layer">1</param>
|
||||
<param id="2" name="X">btn_check.X</param>
|
||||
<param id="3" name="Y">btn_check.Y</param>
|
||||
</action>
|
||||
<action id="5" name="Set frame" sid="839154739990506" type="checker_wrong_correct">
|
||||
<param id="0" name="Frame number">0</param>
|
||||
</action>
|
||||
</actions>
|
||||
</event-block>
|
||||
<event-block sid="488252630180568">
|
||||
<conditions>
|
||||
<condition id="2" name="On Wrong Answer" sid="126590912667103" type="SenaAI" />
|
||||
</conditions>
|
||||
<actions>
|
||||
<action id="0" name="Play" sid="979948713775875" type="Audio">
|
||||
<param id="0" name="Audio file">error-010-206498</param>
|
||||
<param id="2" name="Loop">0</param>
|
||||
<param id="3" name="Volume">-2</param>
|
||||
<param id="1" name="Tag (optional)">""</param>
|
||||
</action>
|
||||
<action id="-3" name="Create object" sid="747791078913276" type="System">
|
||||
<param id="0" name="Object to create">checker_wrong_correct</param>
|
||||
<param id="1" name="Layer">1</param>
|
||||
<param id="2" name="X">btn_check.X</param>
|
||||
<param id="3" name="Y">btn_check.Y</param>
|
||||
</action>
|
||||
<action id="5" name="Set frame" sid="616147821154826" type="checker_wrong_correct">
|
||||
<param id="0" name="Frame number">1</param>
|
||||
</action>
|
||||
</actions>
|
||||
</event-block>
|
||||
<event-block sid="661948158679917">
|
||||
<conditions>
|
||||
<condition id="3" name="On touched object" sid="505083980566323" type="Touch">
|
||||
<param id="0" name="Object">pause</param>
|
||||
</condition>
|
||||
</conditions>
|
||||
<actions>
|
||||
<action id="9" name="Pause Game" sid="221115629617334" type="SenaAI" />
|
||||
</actions>
|
||||
</event-block>
|
||||
<event-block sid="871816213339027">
|
||||
<conditions>
|
||||
<condition id="3" name="On touched object" sid="203945147432710" type="Touch">
|
||||
<param id="0" name="Object">resume</param>
|
||||
</condition>
|
||||
</conditions>
|
||||
<actions>
|
||||
<action id="10" name="Resume Game" sid="299687746228930" type="SenaAI" />
|
||||
</actions>
|
||||
</event-block>
|
||||
<event-block sid="317150235088713">
|
||||
<conditions>
|
||||
<condition id="4" name="On Game Paused" sid="191847409940776" type="SenaAI" />
|
||||
</conditions>
|
||||
<actions>
|
||||
<action id="-9" name="Set value" sid="610917235070761" type="System">
|
||||
<param id="0" name="Variable">Paused</param>
|
||||
<param id="1" name="Value">1</param>
|
||||
</action>
|
||||
</actions>
|
||||
</event-block>
|
||||
<event-block sid="274698478784687">
|
||||
<conditions>
|
||||
<condition id="5" name="On Game Resumed" sid="882196292313245" type="SenaAI" />
|
||||
</conditions>
|
||||
<actions>
|
||||
<action id="-9" name="Set value" sid="511887800092603" type="System">
|
||||
<param id="0" name="Variable">Paused</param>
|
||||
<param id="1" name="Value">0</param>
|
||||
</action>
|
||||
</actions>
|
||||
</event-block>
|
||||
<event-block disabled="1" sid="195066173189518">
|
||||
<conditions>
|
||||
<condition id="-1" name="Every tick" sid="290390615201190" type="System" />
|
||||
</conditions>
|
||||
<actions />
|
||||
<sub-events>
|
||||
<event-block disabled="1" sid="360442996781782">
|
||||
<conditions>
|
||||
<condition id="-8" name="Compare two values" sid="548786409907532" type="System">
|
||||
<param id="0" name="First value">SenaAI.getTimeLimit</param>
|
||||
<param id="1" name="Comparison">4</param>
|
||||
<param id="2" name="Second value">0</param>
|
||||
</condition>
|
||||
</conditions>
|
||||
<actions>
|
||||
<action id="-9" name="Set value" sid="188457301435729" type="System">
|
||||
<param id="0" name="Variable">timeLeft</param>
|
||||
<param id="1" name="Value">max(0, SenaAI.getTimeLimit - SenaAI.getElapsedTime)</param>
|
||||
</action>
|
||||
<action id="0" name="Set text" sid="186957390014795" type="txt_TextTimer">
|
||||
<param id="0" name="Text">int(timeLeft)</param>
|
||||
</action>
|
||||
</actions>
|
||||
</event-block>
|
||||
</sub-events>
|
||||
</event-block>
|
||||
<event-block disabled="1" sid="294529570370137">
|
||||
<conditions>
|
||||
<condition id="-1" name="Every tick" sid="737378517361957" type="System" />
|
||||
</conditions>
|
||||
<actions />
|
||||
<sub-events>
|
||||
<event-block disabled="1" sid="554738329309418">
|
||||
<conditions>
|
||||
<condition id="-8" name="Compare two values" sid="716392425028141" type="System">
|
||||
<param id="0" name="First value">SenaAI.getElapsedTime</param>
|
||||
<param id="1" name="Comparison">4</param>
|
||||
<param id="2" name="Second value">SenaAI.getTimeLimit</param>
|
||||
</condition>
|
||||
<condition id="-14" name="Compare variable" sid="780183147912832" type="System">
|
||||
<param id="0" name="Variable">isTimeUp</param>
|
||||
<param id="1" name="Comparison">0</param>
|
||||
<param id="2" name="Value">0</param>
|
||||
</condition>
|
||||
<condition id="-4" name="Trigger once while true" sid="525077339862079" type="System" />
|
||||
</conditions>
|
||||
<actions>
|
||||
<action id="-9" name="Set value" sid="143657325576872" type="System">
|
||||
<param id="0" name="Variable">isTimeUp</param>
|
||||
<param id="1" name="Value">1</param>
|
||||
</action>
|
||||
<action behavior="DragDrop" id="0" name="Set enabled" sid="816065893034813" type="btn_WordItem">
|
||||
<param id="0" name="State">0</param>
|
||||
</action>
|
||||
<action id="-9" name="Destroy" sid="965564233186280" type="txt_WordItem" />
|
||||
<action behavior="Fade" id="1" name="Start fade" sid="532407797948589" type="btn_WordItem" />
|
||||
<action id="-16" name="Wait" sid="127771899136112" type="System">
|
||||
<param id="0" name="Seconds">1.0</param>
|
||||
</action>
|
||||
<action behavior="Fade" id="1" name="Start fade" sid="840135179749270" type="Slot" />
|
||||
<action id="-9" name="Destroy" sid="280448711318062" type="btn_WordItem" />
|
||||
<action id="-9" name="Destroy" sid="860486584174303" type="txt_Slot" />
|
||||
<action id="2" name="Finish" sid="722573403513740" type="SenaAI">
|
||||
<param id="0" name="Answer">answer</param>
|
||||
</action>
|
||||
</actions>
|
||||
</event-block>
|
||||
</sub-events>
|
||||
</event-block>
|
||||
<event-block sid="681702081983565">
|
||||
<conditions>
|
||||
<condition id="0" name="On function" sid="298041374468676" type="Function">
|
||||
<param id="0" name="Name">"currentAnswer"</param>
|
||||
</condition>
|
||||
</conditions>
|
||||
<actions />
|
||||
<sub-events>
|
||||
<event-block sid="137994023265162">
|
||||
<conditions>
|
||||
<condition id="-10" name="For" sid="555590637488718" type="System">
|
||||
<param id="0" name="Name">"i"</param>
|
||||
<param id="1" name="Start index">0</param>
|
||||
<param id="2" name="End index">int( SenaAI.getHintCount ) - 1</param>
|
||||
</condition>
|
||||
</conditions>
|
||||
<actions />
|
||||
<sub-events>
|
||||
<event-block sid="985822966767783">
|
||||
<conditions>
|
||||
<condition id="-33" name="Pick by comparison" sid="624232920295487" type="System">
|
||||
<param id="0" name="Object">Slot</param>
|
||||
<param id="1" name="Expression">Slot.index</param>
|
||||
<param id="2" name="Comparison">0</param>
|
||||
<param id="3" name="Value">loopindex</param>
|
||||
</condition>
|
||||
</conditions>
|
||||
<actions>
|
||||
<action id="-9" name="Set value" sid="857204506251739" type="System">
|
||||
<param id="0" name="Variable">answer</param>
|
||||
<param id="1" name="Value">answer & Slot.word & "|"</param>
|
||||
</action>
|
||||
</actions>
|
||||
</event-block>
|
||||
</sub-events>
|
||||
</event-block>
|
||||
<event-block sid="940103363702696">
|
||||
<conditions />
|
||||
<actions>
|
||||
<action id="-9" name="Set value" sid="562027140905701" type="System">
|
||||
<param id="0" name="Variable">answer</param>
|
||||
<param id="1" name="Value">left(answer, len(answer) - 1)</param>
|
||||
</action>
|
||||
<action id="2" name="Finish" sid="169098649828276" type="SenaAI">
|
||||
<param id="0" name="Answer">answer </param>
|
||||
</action>
|
||||
</actions>
|
||||
</event-block>
|
||||
</sub-events>
|
||||
</event-block>
|
||||
<event-block sid="727817921462789">
|
||||
<conditions>
|
||||
<condition id="3" name="On touched object" sid="108505438464022" type="Touch">
|
||||
<param id="0" name="Object">btn_setting</param>
|
||||
</condition>
|
||||
<condition id="-9" name="Layer is visible" sid="610596175587088" type="System">
|
||||
<param id="0" name="Layer">1</param>
|
||||
</condition>
|
||||
</conditions>
|
||||
<actions />
|
||||
<sub-events>
|
||||
<event-block sid="235491499504531">
|
||||
<conditions>
|
||||
<condition id="-2" name="Compare Y" sid="155448615733244" type="btn_music">
|
||||
<param id="0" name="Comparison">0</param>
|
||||
<param id="1" name="Y co-ordinate">btn_setting.Y</param>
|
||||
</condition>
|
||||
</conditions>
|
||||
<actions>
|
||||
<action id="0" name="Play" sid="294820226005928" type="Audio">
|
||||
<param id="0" name="Audio file">click</param>
|
||||
<param id="2" name="Loop">0</param>
|
||||
<param id="3" name="Volume">-2</param>
|
||||
<param id="1" name="Tag (optional)">""</param>
|
||||
</action>
|
||||
<action behavior="MoveTo" id="4" name="Move to XY" sid="755380023179324" type="btn_Pause">
|
||||
<param id="0" name="X">btn_Pause.originX</param>
|
||||
<param id="1" name="Y">btn_Pause.originY</param>
|
||||
</action>
|
||||
<action behavior="MoveTo" id="4" name="Move to XY" sid="901484735891669" type="btn_music">
|
||||
<param id="0" name="X">btn_music.originX</param>
|
||||
<param id="1" name="Y">btn_music.originY</param>
|
||||
</action>
|
||||
</actions>
|
||||
</event-block>
|
||||
<event-block sid="101845070576145">
|
||||
<conditions>
|
||||
<condition id="-2" name="Compare Y" sid="252338104312800" type="btn_music">
|
||||
<param id="0" name="Comparison">0</param>
|
||||
<param id="1" name="Y co-ordinate">btn_music.originY</param>
|
||||
</condition>
|
||||
</conditions>
|
||||
<actions>
|
||||
<action id="0" name="Play" sid="302680351912155" type="Audio">
|
||||
<param id="0" name="Audio file">click</param>
|
||||
<param id="2" name="Loop">0</param>
|
||||
<param id="3" name="Volume">-2</param>
|
||||
<param id="1" name="Tag (optional)">""</param>
|
||||
</action>
|
||||
<action behavior="MoveTo" id="6" name="Move to object" sid="478407850108954" type="btn_Pause">
|
||||
<param id="0" name="Target">btn_setting</param>
|
||||
</action>
|
||||
<action behavior="MoveTo" id="6" name="Move to object" sid="149592764052604" type="btn_music">
|
||||
<param id="0" name="Target">btn_setting</param>
|
||||
</action>
|
||||
</actions>
|
||||
</event-block>
|
||||
</sub-events>
|
||||
</event-block>
|
||||
<event-block sid="425688163884150">
|
||||
<conditions>
|
||||
<condition id="3" name="On touched object" sid="234631560209387" type="Touch">
|
||||
<param id="0" name="Object">btn_music</param>
|
||||
</condition>
|
||||
<condition id="-2" name="Compare Y" sid="226854573439244" type="btn_music">
|
||||
<param id="0" name="Comparison">0</param>
|
||||
<param id="1" name="Y co-ordinate">btn_music.originY</param>
|
||||
</condition>
|
||||
</conditions>
|
||||
<actions>
|
||||
<action id="0" name="Play" sid="673559809421156" type="Audio">
|
||||
<param id="0" name="Audio file">click</param>
|
||||
<param id="2" name="Loop">0</param>
|
||||
<param id="3" name="Volume">-2</param>
|
||||
<param id="1" name="Tag (optional)">""</param>
|
||||
</action>
|
||||
</actions>
|
||||
<sub-events>
|
||||
<event-block sid="289041913893922">
|
||||
<conditions>
|
||||
<condition id="3" name="Compare frame" sid="987327175843166" type="btn_music">
|
||||
<param id="0" name="Comparison">0</param>
|
||||
<param id="1" name="Number">0</param>
|
||||
</condition>
|
||||
</conditions>
|
||||
<actions>
|
||||
<action id="5" name="Set frame" sid="527221309063653" type="btn_music">
|
||||
<param id="0" name="Frame number">1</param>
|
||||
</action>
|
||||
<action id="8" name="Set silent" sid="512396695148483" type="Audio">
|
||||
<param id="0" name="Mode">0</param>
|
||||
</action>
|
||||
</actions>
|
||||
</event-block>
|
||||
<event-block sid="723297863178989">
|
||||
<conditions>
|
||||
<condition id="-22" name="Else" sid="442294654095608" type="System" />
|
||||
</conditions>
|
||||
<actions>
|
||||
<action id="5" name="Set frame" sid="889768403943904" type="btn_music">
|
||||
<param id="0" name="Frame number">0</param>
|
||||
</action>
|
||||
<action id="8" name="Set silent" sid="575251195374348" type="Audio">
|
||||
<param id="0" name="Mode">1</param>
|
||||
</action>
|
||||
</actions>
|
||||
</event-block>
|
||||
</sub-events>
|
||||
</event-block>
|
||||
<event-block sid="797604063574455">
|
||||
<conditions>
|
||||
<condition id="3" name="On touched object" sid="435979848233842" type="Touch">
|
||||
<param id="0" name="Object">btn_Pause</param>
|
||||
</condition>
|
||||
<condition id="-2" name="Compare Y" sid="428645173671679" type="btn_Pause">
|
||||
<param id="0" name="Comparison">0</param>
|
||||
<param id="1" name="Y co-ordinate">btn_Pause.originY</param>
|
||||
</condition>
|
||||
</conditions>
|
||||
<actions>
|
||||
<action id="0" name="Play" sid="278201420832843" type="Audio">
|
||||
<param id="0" name="Audio file">click</param>
|
||||
<param id="2" name="Loop">0</param>
|
||||
<param id="3" name="Volume">-2</param>
|
||||
<param id="1" name="Tag (optional)">""</param>
|
||||
</action>
|
||||
<action id="9" name="Pause Game" sid="293121306154050" type="SenaAI" />
|
||||
<action behavior="MoveTo" id="6" name="Move to object" sid="361279997459133" type="btn_Pause">
|
||||
<param id="0" name="Target">btn_setting</param>
|
||||
</action>
|
||||
<action behavior="MoveTo" id="6" name="Move to object" sid="775451581878906" type="btn_music">
|
||||
<param id="0" name="Target">btn_setting</param>
|
||||
</action>
|
||||
<action id="-16" name="Wait" sid="443896622001002" type="System">
|
||||
<param id="0" name="Seconds">0.5</param>
|
||||
</action>
|
||||
<action id="-4" name="Set layer visible" sid="958274146221115" type="System">
|
||||
<param id="0" name="Layer">1</param>
|
||||
<param id="1" name="Visibility">0</param>
|
||||
</action>
|
||||
<action id="-4" name="Set layer visible" sid="350999554669409" type="System">
|
||||
<param id="0" name="Layer">2</param>
|
||||
<param id="1" name="Visibility">1</param>
|
||||
</action>
|
||||
</actions>
|
||||
</event-block>
|
||||
<event-block sid="784412967489758">
|
||||
<conditions>
|
||||
<condition id="3" name="On touched object" sid="357044148333403" type="Touch">
|
||||
<param id="0" name="Object">Layer</param>
|
||||
</condition>
|
||||
<condition id="-9" name="Layer is visible" sid="279540051091502" type="System">
|
||||
<param id="0" name="Layer">2</param>
|
||||
</condition>
|
||||
</conditions>
|
||||
<actions>
|
||||
<action id="0" name="Play" sid="816121502780137" type="Audio">
|
||||
<param id="0" name="Audio file">click</param>
|
||||
<param id="2" name="Loop">0</param>
|
||||
<param id="3" name="Volume">-2</param>
|
||||
<param id="1" name="Tag (optional)">""</param>
|
||||
</action>
|
||||
<action id="10" name="Resume Game" sid="724669397859175" type="SenaAI" />
|
||||
<action id="-4" name="Set layer visible" sid="929561454791375" type="System">
|
||||
<param id="0" name="Layer">1</param>
|
||||
<param id="1" name="Visibility">1</param>
|
||||
</action>
|
||||
<action id="-4" name="Set layer visible" sid="645435946734615" type="System">
|
||||
<param id="0" name="Layer">2</param>
|
||||
<param id="1" name="Visibility">0</param>
|
||||
</action>
|
||||
</actions>
|
||||
</event-block>
|
||||
<event-block disabled="1" sid="519127728010123">
|
||||
<conditions>
|
||||
<condition id="3" name="On touched object" sid="239336371251901" type="Touch">
|
||||
<param id="0" name="Object">Family2</param>
|
||||
</condition>
|
||||
</conditions>
|
||||
<actions>
|
||||
<action id="0" name="Play" sid="851922756460513" type="Audio">
|
||||
<param id="0" name="Audio file">click</param>
|
||||
<param id="2" name="Loop">0</param>
|
||||
<param id="3" name="Volume">-2</param>
|
||||
<param id="1" name="Tag (optional)">""</param>
|
||||
</action>
|
||||
</actions>
|
||||
</event-block>
|
||||
</events>
|
||||
</c2eventsheet>
|
||||
15
source/Test/Event sheets/move.uistate.xml
Normal file
@@ -0,0 +1,15 @@
|
||||
<?xml version="1.0" encoding="utf-8" ?>
|
||||
<c2uistate>
|
||||
<!--This is a UI state file - its content describes the user interface settings when the event sheet was last open.
|
||||
It is entirely optional and the project will load without it. If you are placing the project under source control,
|
||||
you probably do not want to add any .uistate.xml files to the repository.-->
|
||||
<show-addaction-links>1</show-addaction-links>
|
||||
<scroll-pos>0</scroll-pos>
|
||||
<conditions-column>419</conditions-column>
|
||||
<actions-namecolumn>21</actions-namecolumn>
|
||||
<condition-namecolumns>
|
||||
<nest>32</nest>
|
||||
<nest>18</nest>
|
||||
</condition-namecolumns>
|
||||
<events />
|
||||
</c2uistate>
|
||||
102
source/Test/Event sheets/move.xml
Normal file
@@ -0,0 +1,102 @@
|
||||
<?xml version="1.0" encoding="utf-8" ?>
|
||||
<c2eventsheet>
|
||||
<!--All the 'name' attributes are ignored by Construct 2 - they are there for readability only.-->
|
||||
<name>move</name>
|
||||
<events>
|
||||
<event-block sid="247537098385321">
|
||||
<conditions>
|
||||
<condition id="8" name="On Message" sid="357653839729988" type="SenaAI" />
|
||||
</conditions>
|
||||
<actions>
|
||||
<action id="60" name="LoadJSON" sid="481034101118882" type="JSON">
|
||||
<param id="0" name="JSON">SenaAI.getLastMessageJSON</param>
|
||||
<param id="1" name="Reference point">0</param>
|
||||
<param id="2" name="Key {n}"></param>
|
||||
</action>
|
||||
<action id="-16" name="Wait" sid="923787823234004" type="System">
|
||||
<param id="0" name="Seconds">0.0001</param>
|
||||
</action>
|
||||
</actions>
|
||||
<sub-events>
|
||||
<event-block sid="501329491159206">
|
||||
<conditions>
|
||||
<condition id="-33" name="Pick by comparison" sid="329723730163277" type="System">
|
||||
<param id="0" name="Object">btn_WordItem</param>
|
||||
<param id="1" name="Expression">btn_WordItem.text</param>
|
||||
<param id="2" name="Comparison">0</param>
|
||||
<param id="3" name="Value">str(JSON.Value(0, "data1"))</param>
|
||||
</condition>
|
||||
</conditions>
|
||||
<actions />
|
||||
<sub-events>
|
||||
<event-block sid="373485886439115">
|
||||
<conditions>
|
||||
<condition id="-33" name="Pick by comparison" sid="667505268608524" type="System">
|
||||
<param id="0" name="Object">Slot</param>
|
||||
<param id="1" name="Expression">int(JSON.Value(0, "data2"))</param>
|
||||
<param id="2" name="Comparison">0</param>
|
||||
<param id="3" name="Value">Slot.index</param>
|
||||
</condition>
|
||||
</conditions>
|
||||
<actions>
|
||||
<action behavior="MoveTo" id="6" name="Move to object" sid="724531557833079" type="btn_WordItem">
|
||||
<param id="0" name="Target">Slot</param>
|
||||
</action>
|
||||
</actions>
|
||||
</event-block>
|
||||
<event-block sid="176622797861199">
|
||||
<conditions>
|
||||
<condition id="-22" name="Else" sid="494998059713904" type="System" />
|
||||
<condition id="-33" name="Pick by comparison" sid="646024827473206" type="System">
|
||||
<param id="0" name="Object">btn_WordItem</param>
|
||||
<param id="1" name="Expression">btn_WordItem.text</param>
|
||||
<param id="2" name="Comparison">0</param>
|
||||
<param id="3" name="Value">str(JSON.Value(0, "data1"))</param>
|
||||
</condition>
|
||||
</conditions>
|
||||
<actions>
|
||||
<action behavior="MoveTo" id="4" name="Move to XY" sid="116962450760903" type="btn_WordItem">
|
||||
<param id="0" name="X">Self.originX</param>
|
||||
<param id="1" name="Y">Self.originY</param>
|
||||
</action>
|
||||
</actions>
|
||||
</event-block>
|
||||
</sub-events>
|
||||
</event-block>
|
||||
<event-block sid="393296075303458">
|
||||
<conditions>
|
||||
<condition id="-8" name="Compare two values" sid="423617115709335" type="System">
|
||||
<param id="0" name="First value">int(JSON.Value(0, "data3"))</param>
|
||||
<param id="1" name="Comparison">0</param>
|
||||
<param id="2" name="Second value">1</param>
|
||||
</condition>
|
||||
<condition id="-9" name="Is visible" sid="344349834250107" type="btn_check" />
|
||||
</conditions>
|
||||
<actions>
|
||||
<action id="0" name="Play" sid="886430907172802" type="Audio">
|
||||
<param id="0" name="Audio file">click</param>
|
||||
<param id="2" name="Loop">0</param>
|
||||
<param id="3" name="Volume">-2</param>
|
||||
<param id="1" name="Tag (optional)">""</param>
|
||||
</action>
|
||||
<action id="9" name="Pause Game" sid="435408274602653" type="SenaAI" />
|
||||
<action behavior="DragDrop" id="0" name="Set enabled" sid="291762055141813" type="btn_WordItem">
|
||||
<param id="0" name="State">0</param>
|
||||
</action>
|
||||
<action id="-9" name="Set value" sid="960430821480250" type="System">
|
||||
<param id="0" name="Variable">answer</param>
|
||||
<param id="1" name="Value">""</param>
|
||||
</action>
|
||||
<action id="0" name="Call function" sid="411309036756794" type="Function">
|
||||
<param id="0" name="Name">"currentAnswer"</param>
|
||||
<param id="1" name="Parameter {n}"></param>
|
||||
</action>
|
||||
<action id="-16" name="Wait" sid="928569719414780" type="System">
|
||||
<param id="0" name="Seconds">3</param>
|
||||
</action>
|
||||
</actions>
|
||||
</event-block>
|
||||
</sub-events>
|
||||
</event-block>
|
||||
</events>
|
||||
</c2eventsheet>
|
||||
BIN
source/Test/Files/click.ogg
Normal file
BIN
source/Test/Files/correct.ogg
Normal file
BIN
source/Test/Files/error-010-206498.ogg
Normal file
BIN
source/Test/Files/icon-114.png
Normal file
|
After Width: | Height: | Size: 25 KiB |
BIN
source/Test/Files/icon-128.png
Normal file
|
After Width: | Height: | Size: 33 KiB |
BIN
source/Test/Files/icon-16.png
Normal file
|
After Width: | Height: | Size: 1.0 KiB |
BIN
source/Test/Files/icon-256.png
Normal file
|
After Width: | Height: | Size: 96 KiB |
BIN
source/Test/Files/icon-32.png
Normal file
|
After Width: | Height: | Size: 2.9 KiB |
BIN
source/Test/Files/immersivecontrol-button-click-sound-463065.ogg
Normal file
BIN
source/Test/Files/loading-logo.png
Normal file
|
After Width: | Height: | Size: 9.2 KiB |
1
source/Test/Files/tdv_sdk.js
Normal file
@@ -0,0 +1 @@
|
||||
// hé lô quơ
|
||||
33
source/Test/Layouts/Layout 1.uistate.xml
Normal file
@@ -0,0 +1,33 @@
|
||||
<?xml version="1.0" encoding="utf-8" ?>
|
||||
<c2uistate>
|
||||
<!--This is a UI state file - its content describes the user interface settings when the layout was last open.
|
||||
It is entirely optional and the project will load without it. If you are placing the project under source control,
|
||||
you probably do not want to add any .uistate.xml files to the repository.-->
|
||||
<camera>
|
||||
<position-x>600</position-x>
|
||||
<position-y>600</position-y>
|
||||
<position-z>473.742</position-z>
|
||||
<lookat-x>600</lookat-x>
|
||||
<lookat-y>600</lookat-y>
|
||||
<lookat-z>0</lookat-z>
|
||||
</camera>
|
||||
<snap-to-grid>0</snap-to-grid>
|
||||
<show-grid>0</show-grid>
|
||||
<snap-width>32</snap-width>
|
||||
<snap-height>32</snap-height>
|
||||
<show-collision-polys>0</show-collision-polys>
|
||||
<translucent-inactive-layers>0</translucent-inactive-layers>
|
||||
<properties>
|
||||
<property expanded="1" name="Layout properties" />
|
||||
<property expanded="0" name="Layout Size" />
|
||||
<property expanded="0" name="Margins" />
|
||||
<property expanded="1" name="Effects" />
|
||||
</properties>
|
||||
<active-layer name="Main" />
|
||||
<layers>
|
||||
<layer locked="0" name="BG" parallax-in-editor="0" visible="1" />
|
||||
<layer locked="0" name="Main" parallax-in-editor="0" visible="1" />
|
||||
<layer locked="0" name="Pause" parallax-in-editor="0" visible="0" />
|
||||
<layer locked="0" name="Logo" parallax-in-editor="0" visible="1" />
|
||||
</layers>
|
||||
</c2uistate>
|
||||
908
source/Test/Layouts/Layout 1.xml
Normal file
@@ -0,0 +1,908 @@
|
||||
<?xml version="1.0" encoding="utf-8" ?>
|
||||
<c2layout>
|
||||
<name>Layout 1</name>
|
||||
<sid>148229480160171</sid>
|
||||
<event-sheet>Event sheet 1</event-sheet>
|
||||
<size>
|
||||
<width>1200</width>
|
||||
<height>1200</height>
|
||||
</size>
|
||||
<margins>
|
||||
<horizontal>500</horizontal>
|
||||
<vertical>500</vertical>
|
||||
</margins>
|
||||
<unbounded-scrolling>0</unbounded-scrolling>
|
||||
<layers>
|
||||
<layer name="BG" sid="977906834634586">
|
||||
<initially-visible>1</initially-visible>
|
||||
<background-color>255,255,255</background-color>
|
||||
<transparent>1</transparent>
|
||||
<parallax>
|
||||
<x>1</x>
|
||||
<y>1</y>
|
||||
</parallax>
|
||||
<zoom-rate>1</zoom-rate>
|
||||
<opacity>1</opacity>
|
||||
<force-own-texture>0</force-own-texture>
|
||||
<global>0</global>
|
||||
<use-render-cells>0</use-render-cells>
|
||||
<blend-mode>0</blend-mode>
|
||||
<effect-fallback>0</effect-fallback>
|
||||
<instances />
|
||||
<effects />
|
||||
</layer>
|
||||
<layer name="Main" sid="715835324311419">
|
||||
<initially-visible>1</initially-visible>
|
||||
<background-color>255,255,255</background-color>
|
||||
<transparent>1</transparent>
|
||||
<parallax>
|
||||
<x>0</x>
|
||||
<y>0</y>
|
||||
</parallax>
|
||||
<zoom-rate>1</zoom-rate>
|
||||
<opacity>1</opacity>
|
||||
<force-own-texture>0</force-own-texture>
|
||||
<global>0</global>
|
||||
<use-render-cells>0</use-render-cells>
|
||||
<blend-mode>0</blend-mode>
|
||||
<effect-fallback>0</effect-fallback>
|
||||
<instances>
|
||||
<instance type="btn_check" uid="2">
|
||||
<properties>
|
||||
<initial-visibility>Invisible</initial-visibility>
|
||||
<initial-animation>Default</initial-animation>
|
||||
<initial-frame>0</initial-frame>
|
||||
<collisions>Enabled</collisions>
|
||||
</properties>
|
||||
<blend-mode>0</blend-mode>
|
||||
<effect-fallback>0</effect-fallback>
|
||||
<world>
|
||||
<x>600</x>
|
||||
<y>-1099.549194336</y>
|
||||
<z>0</z>
|
||||
<width>163.344848633</width>
|
||||
<height>106.17414856</height>
|
||||
<depth>0</depth>
|
||||
<hotspotX>0.5</hotspotX>
|
||||
<hotspotY>0.501538455</hotspotY>
|
||||
<angle>0</angle>
|
||||
<opacity>0.790000021</opacity>
|
||||
</world>
|
||||
</instance>
|
||||
<instance type="pause" uid="5">
|
||||
<properties>
|
||||
<initial-visibility>Visible</initial-visibility>
|
||||
<initial-animation>Default</initial-animation>
|
||||
<initial-frame>0</initial-frame>
|
||||
<collisions>Enabled</collisions>
|
||||
</properties>
|
||||
<blend-mode>0</blend-mode>
|
||||
<effect-fallback>0</effect-fallback>
|
||||
<world>
|
||||
<x>314</x>
|
||||
<y>-701</y>
|
||||
<z>0</z>
|
||||
<width>58</width>
|
||||
<height>49</height>
|
||||
<depth>0</depth>
|
||||
<hotspotX>0.5</hotspotX>
|
||||
<hotspotY>0.5</hotspotY>
|
||||
<angle>0</angle>
|
||||
<opacity>1</opacity>
|
||||
</world>
|
||||
</instance>
|
||||
<instance type="resume" uid="6">
|
||||
<properties>
|
||||
<initial-visibility>Visible</initial-visibility>
|
||||
<initial-animation>Default</initial-animation>
|
||||
<initial-frame>0</initial-frame>
|
||||
<collisions>Enabled</collisions>
|
||||
</properties>
|
||||
<blend-mode>0</blend-mode>
|
||||
<effect-fallback>0</effect-fallback>
|
||||
<world>
|
||||
<x>313</x>
|
||||
<y>-632</y>
|
||||
<z>0</z>
|
||||
<width>58.326667786</width>
|
||||
<height>58.326667786</height>
|
||||
<depth>0</depth>
|
||||
<hotspotX>0.5</hotspotX>
|
||||
<hotspotY>0.5</hotspotY>
|
||||
<angle>0</angle>
|
||||
<opacity>1</opacity>
|
||||
</world>
|
||||
</instance>
|
||||
<instance type="Slot" uid="7">
|
||||
<properties>
|
||||
<initial-visibility>Visible</initial-visibility>
|
||||
<initial-animation>Default</initial-animation>
|
||||
<initial-frame>0</initial-frame>
|
||||
<collisions>Enabled</collisions>
|
||||
</properties>
|
||||
<instance-variables>
|
||||
<index>0</index>
|
||||
<word></word>
|
||||
<locked>false</locked>
|
||||
</instance-variables>
|
||||
<behavior-instances>
|
||||
<behavior-instance type="Fade">
|
||||
<properties>
|
||||
<active-at-start>No</active-at-start>
|
||||
<fade-in-time>0</fade-in-time>
|
||||
<wait-time>0</wait-time>
|
||||
<fade-out-time>2</fade-out-time>
|
||||
<destroy>After fade out</destroy>
|
||||
</properties>
|
||||
</behavior-instance>
|
||||
</behavior-instances>
|
||||
<blend-mode>0</blend-mode>
|
||||
<effect-fallback>0</effect-fallback>
|
||||
<world>
|
||||
<x>678</x>
|
||||
<y>-828</y>
|
||||
<z>0</z>
|
||||
<width>200</width>
|
||||
<height>85</height>
|
||||
<depth>0</depth>
|
||||
<hotspotX>0.504999995</hotspotX>
|
||||
<hotspotY>0.423529416</hotspotY>
|
||||
<angle>0</angle>
|
||||
<opacity>1</opacity>
|
||||
</world>
|
||||
</instance>
|
||||
<instance type="btn_WordItem" uid="8">
|
||||
<properties>
|
||||
<initial-visibility>Visible</initial-visibility>
|
||||
<initial-animation>Default</initial-animation>
|
||||
<initial-frame>0</initial-frame>
|
||||
<collisions>Enabled</collisions>
|
||||
</properties>
|
||||
<instance-variables>
|
||||
<num>0</num>
|
||||
<text></text>
|
||||
<originX>0</originX>
|
||||
<originY>0</originY>
|
||||
<slotIndex>-1</slotIndex>
|
||||
<dist>0</dist>
|
||||
</instance-variables>
|
||||
<behavior-instances>
|
||||
<behavior-instance type="DragDrop">
|
||||
<properties>
|
||||
<axes>Both</axes>
|
||||
<initial-state>Enabled</initial-state>
|
||||
</properties>
|
||||
</behavior-instance>
|
||||
<behavior-instance type="Fade">
|
||||
<properties>
|
||||
<active-at-start>No</active-at-start>
|
||||
<fade-in-time>0</fade-in-time>
|
||||
<wait-time>0</wait-time>
|
||||
<fade-out-time>2</fade-out-time>
|
||||
<destroy>After fade out</destroy>
|
||||
</properties>
|
||||
</behavior-instance>
|
||||
<behavior-instance type="MoveTo">
|
||||
<properties>
|
||||
<activated>Yes</activated>
|
||||
<max-speed>1200</max-speed>
|
||||
<acceleration>0</acceleration>
|
||||
<deceleration>0</deceleration>
|
||||
</properties>
|
||||
</behavior-instance>
|
||||
<behavior-instance type="Pin" />
|
||||
</behavior-instances>
|
||||
<blend-mode>0</blend-mode>
|
||||
<effect-fallback>0</effect-fallback>
|
||||
<world>
|
||||
<x>-104</x>
|
||||
<y>-1030</y>
|
||||
<z>0</z>
|
||||
<width>200</width>
|
||||
<height>85</height>
|
||||
<depth>0</depth>
|
||||
<hotspotX>0.5</hotspotX>
|
||||
<hotspotY>0.411764711</hotspotY>
|
||||
<angle>0</angle>
|
||||
<opacity>1</opacity>
|
||||
</world>
|
||||
</instance>
|
||||
<instance type="txt_WordItem" uid="11">
|
||||
<properties>
|
||||
<character-width>73</character-width>
|
||||
<character-height>91</character-height>
|
||||
<character-set>ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789.,;:?!-_~#"'&()[]|`/@°+=*$£€<>%ÁÀẢẠÃĂẰẮẶẲẴÂẦẤẬẨẪĐÉÈẺẸẼÊỀẾỆỂỄÍÌỊỈĨÓÒỌỎÕÔỒỐỘỔỖƠỜỚỢỞỠÚÙỤỦŨƯỪỨỰỬỮÝỲỴỶỸáàảạãăằắặẳẵâầấậẩẫđéèẻẹẽêềếệểễíìịỉĩóòọỏõôồốộổỗơờớợởỡúùụủũưừứựửữýỳỵỷỹ</character-set>
|
||||
<text>W</text>
|
||||
<scale>0.5</scale>
|
||||
<initial-visibility>Visible</initial-visibility>
|
||||
<horizontal-alignment>Center</horizontal-alignment>
|
||||
<vertical-alignment>Center</vertical-alignment>
|
||||
<hotspot>Center</hotspot>
|
||||
<wrapping>Word</wrapping>
|
||||
<character-spacing>0</character-spacing>
|
||||
<line-height>0</line-height>
|
||||
<char-width-json>{""c2array"":true,""size"":[2,40,1],""data"":[[[22],[11],[13],[14],[15],[19],[20],[21],[22],[23],[24],[26],[27],[28],[29],[30],[37],[38],[39],[40],[41],[42],[43],[44],[45],[46],[47],[49],[50],[51],[52],[53],[54],[55],[56],[58],[59],[61],[62],[71]],[["" ""],[""|""],["":""],[""Iil.,;'Ịị""],[""!""],[""Ỉỉ""],[""`ÍÌíì""],[""[]""],[""j()""],[""-""],[""/""],[""t°""],[""1""],[""rĨĩ""],[""*""],[""f\""""],[""Juz078úùụủũ""],[""hn3569$""],[""Faceks2+=<>áàảạãăằắặẳẵâầấậẩẫéèẻẹẽêềếệểễ""],[""Ldgq""],[""bp4?~""],[""oy£€óòọỏõôồốộổỗýỳỵỷỹ""],[""EPvx#ÉÈẺẸẼÊỀẾỆỂỄ""],[""đ""],[""HNTU_ÚÙỤỦŨ""],[""SZ""],[""BD""],[""C""],[""KR""],[""VX&ưừứựửữ""],[""GYÝỲỴỶỸơờớợởỡ""],[""MĐ""],[""OÓÒỌỎÕÔỒỐỘỔỖ""],[""AÁÀẢẠÃĂẰẮẶẲẴÂẦẤẬẨẪ""],[""Q""],[""ƯỪỨỰỬỮ""],[""mw""],[""%""],[""ƠỜỚỢỞỠ""],[""W@""]]]}</char-width-json>
|
||||
<space-char-width>-1</space-char-width>
|
||||
</properties>
|
||||
<behavior-instances>
|
||||
<behavior-instance type="Pin" />
|
||||
</behavior-instances>
|
||||
<blend-mode>0</blend-mode>
|
||||
<effect-fallback>0</effect-fallback>
|
||||
<world>
|
||||
<x>-104</x>
|
||||
<y>-1030</y>
|
||||
<z>0</z>
|
||||
<width>160.211120605</width>
|
||||
<height>55.539886475</height>
|
||||
<depth>0</depth>
|
||||
<hotspotX>0.5</hotspotX>
|
||||
<hotspotY>0.5</hotspotY>
|
||||
<angle>0</angle>
|
||||
<opacity>1</opacity>
|
||||
</world>
|
||||
</instance>
|
||||
<instance type="txt_Slot" uid="12">
|
||||
<properties>
|
||||
<character-width>73</character-width>
|
||||
<character-height>91</character-height>
|
||||
<character-set>ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789.,;:?!-_~#"'&()[]|`/@°+=*$£€<>%ÁÀẢẠÃĂẰẮẶẲẴÂẦẤẬẨẪĐÉÈẺẸẼÊỀẾỆỂỄÍÌỊỈĨÓÒỌỎÕÔỒỐỘỔỖƠỜỚỢỞỠÚÙỤỦŨƯỪỨỰỬỮÝỲỴỶỸáàảạãăằắặẳẵâầấậẩẫđéèẻẹẽêềếệểễíìịỉĩóòọỏõôồốộổỗơờớợởỡúùụủũưừứựửữýỳỵỷỹ</character-set>
|
||||
<text>Text</text>
|
||||
<scale>0.5</scale>
|
||||
<initial-visibility>Visible</initial-visibility>
|
||||
<horizontal-alignment>Center</horizontal-alignment>
|
||||
<vertical-alignment>Center</vertical-alignment>
|
||||
<hotspot>Center</hotspot>
|
||||
<wrapping>Word</wrapping>
|
||||
<character-spacing>0</character-spacing>
|
||||
<line-height>0</line-height>
|
||||
<char-width-json>{""c2array"":true,""size"":[2,40,1],""data"":[[[22],[11],[13],[14],[15],[19],[20],[21],[22],[23],[24],[26],[27],[28],[29],[30],[37],[38],[39],[40],[41],[42],[43],[44],[45],[46],[47],[49],[50],[51],[52],[53],[54],[55],[56],[58],[59],[61],[62],[71]],[["" ""],[""|""],["":""],[""Iil.,;'Ịị""],[""!""],[""Ỉỉ""],[""`ÍÌíì""],[""[]""],[""j()""],[""-""],[""/""],[""t°""],[""1""],[""rĨĩ""],[""*""],[""f\""""],[""Juz078úùụủũ""],[""hn3569$""],[""Faceks2+=<>áàảạãăằắặẳẵâầấậẩẫéèẻẹẽêềếệểễ""],[""Ldgq""],[""bp4?~""],[""oy£€óòọỏõôồốộổỗýỳỵỷỹ""],[""EPvx#ÉÈẺẸẼÊỀẾỆỂỄ""],[""đ""],[""HNTU_ÚÙỤỦŨ""],[""SZ""],[""BD""],[""C""],[""KR""],[""VX&ưừứựửữ""],[""GYÝỲỴỶỸơờớợởỡ""],[""MĐ""],[""OÓÒỌỎÕÔỒỐỘỔỖ""],[""AÁÀẢẠÃĂẰẮẶẲẴÂẦẤẬẨẪ""],[""Q""],[""ƯỪỨỰỬỮ""],[""mw""],[""%""],[""ƠỜỚỢỞỠ""],[""W@""]]]}</char-width-json>
|
||||
<space-char-width>-1</space-char-width>
|
||||
</properties>
|
||||
<behavior-instances>
|
||||
<behavior-instance type="Pin" />
|
||||
</behavior-instances>
|
||||
<blend-mode>0</blend-mode>
|
||||
<effect-fallback>0</effect-fallback>
|
||||
<world>
|
||||
<x>849</x>
|
||||
<y>-693</y>
|
||||
<z>0</z>
|
||||
<width>160.210998535</width>
|
||||
<height>55.540000916</height>
|
||||
<depth>0</depth>
|
||||
<hotspotX>0.5</hotspotX>
|
||||
<hotspotY>0.5</hotspotY>
|
||||
<angle>0</angle>
|
||||
<opacity>1</opacity>
|
||||
</world>
|
||||
</instance>
|
||||
<instance type="SenaaiKhoi" uid="14">
|
||||
<properties>
|
||||
<initial-visibility>Visible</initial-visibility>
|
||||
<initial-animation>Default</initial-animation>
|
||||
<initial-frame>0</initial-frame>
|
||||
<collisions>Enabled</collisions>
|
||||
</properties>
|
||||
<blend-mode>0</blend-mode>
|
||||
<effect-fallback>0</effect-fallback>
|
||||
<world>
|
||||
<x>1113</x>
|
||||
<y>-734</y>
|
||||
<z>0</z>
|
||||
<width>255.077911377</width>
|
||||
<height>99.357879639</height>
|
||||
<depth>0</depth>
|
||||
<hotspotX>0.499563307</hotspotX>
|
||||
<hotspotY>0.497757852</hotspotY>
|
||||
<angle>0</angle>
|
||||
<opacity>1</opacity>
|
||||
</world>
|
||||
</instance>
|
||||
<instance type="txt_TextTimer" uid="10">
|
||||
<properties>
|
||||
<character-width>76</character-width>
|
||||
<character-height>83</character-height>
|
||||
<character-set>ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789.,;:?!-_~#"'&()[]|`\/@°+=*$£€<>%</character-set>
|
||||
<text>TIME</text>
|
||||
<scale>0.7</scale>
|
||||
<initial-visibility>Visible</initial-visibility>
|
||||
<horizontal-alignment>Center</horizontal-alignment>
|
||||
<vertical-alignment>Center</vertical-alignment>
|
||||
<hotspot>Center</hotspot>
|
||||
<wrapping>Word</wrapping>
|
||||
<character-spacing>0</character-spacing>
|
||||
<line-height>0</line-height>
|
||||
<char-width-json>[[34," "],[14,"|"],[16,"il"],[17,"I.:'"],[18,";!"],[19,","],[22,"`"],[24,")"],[25,"(\\/"],[26,"["],[27,"j]"],[28,"-"],[29,"°"],[32,"t1"],[33,"\""],[34,"r"],[35,"f"],[36,"*"],[39,"s"],[40,"kx"],[41,"Jhnu"],[42,"v7?+=<>"],[43,"Faceyz0238"],[44,"L569_~$"],[45,"bdgopq"],[46,"P#"],[47,"EX"],[48,"S4€"],[49,"Y£"],[50,"BNR"],[51,"DHKTU"],[52,"VZ"],[53,"C"],[54,"A"],[55,"&"],[56,"GM"],[57,"O"],[60,"Q"],[62,"mw"],[65,"%"],[72,"W"],[74,"@"]]</char-width-json>
|
||||
<space-char-width>-1</space-char-width>
|
||||
</properties>
|
||||
<behavior-instances>
|
||||
<behavior-instance type="Pin" />
|
||||
</behavior-instances>
|
||||
<blend-mode>0</blend-mode>
|
||||
<effect-fallback>0</effect-fallback>
|
||||
<world>
|
||||
<x>1141</x>
|
||||
<y>-732</y>
|
||||
<z>0</z>
|
||||
<width>132</width>
|
||||
<height>77</height>
|
||||
<depth>0</depth>
|
||||
<hotspotX>0.5</hotspotX>
|
||||
<hotspotY>0.5</hotspotY>
|
||||
<angle>0</angle>
|
||||
<opacity>1</opacity>
|
||||
</world>
|
||||
</instance>
|
||||
<instance type="checker_wrong_correct" uid="15">
|
||||
<properties>
|
||||
<initial-visibility>Visible</initial-visibility>
|
||||
<initial-animation>Default</initial-animation>
|
||||
<initial-frame>0</initial-frame>
|
||||
<collisions>Enabled</collisions>
|
||||
</properties>
|
||||
<blend-mode>0</blend-mode>
|
||||
<effect-fallback>0</effect-fallback>
|
||||
<world>
|
||||
<x>109</x>
|
||||
<y>-653</y>
|
||||
<z>0</z>
|
||||
<width>140</width>
|
||||
<height>140</height>
|
||||
<depth>0</depth>
|
||||
<hotspotX>0.5</hotspotX>
|
||||
<hotspotY>0.5</hotspotY>
|
||||
<angle>0</angle>
|
||||
<opacity>1</opacity>
|
||||
</world>
|
||||
</instance>
|
||||
<instance type="IMG" uid="13">
|
||||
<properties>
|
||||
<initial-visibility>Visible</initial-visibility>
|
||||
<initial-animation>Default</initial-animation>
|
||||
<initial-frame>0</initial-frame>
|
||||
<collisions>Enabled</collisions>
|
||||
</properties>
|
||||
<blend-mode>0</blend-mode>
|
||||
<effect-fallback>0</effect-fallback>
|
||||
<world>
|
||||
<x>599.913452148</x>
|
||||
<y>323.913452148</y>
|
||||
<z>0</z>
|
||||
<width>415.826873779</width>
|
||||
<height>415.826873779</height>
|
||||
<depth>0</depth>
|
||||
<hotspotX>0.5</hotspotX>
|
||||
<hotspotY>0.5</hotspotY>
|
||||
<angle>0</angle>
|
||||
<opacity>1</opacity>
|
||||
</world>
|
||||
</instance>
|
||||
<instance type="panel" uid="18">
|
||||
<properties>
|
||||
<initial-visibility>Visible</initial-visibility>
|
||||
<initial-animation>Default</initial-animation>
|
||||
<initial-frame>0</initial-frame>
|
||||
<collisions>Enabled</collisions>
|
||||
</properties>
|
||||
<blend-mode>0</blend-mode>
|
||||
<effect-fallback>0</effect-fallback>
|
||||
<world>
|
||||
<x>600</x>
|
||||
<y>351</y>
|
||||
<z>0</z>
|
||||
<width>604.043029785</width>
|
||||
<height>604.043029785</height>
|
||||
<depth>0</depth>
|
||||
<hotspotX>0.5</hotspotX>
|
||||
<hotspotY>0.5</hotspotY>
|
||||
<angle>0</angle>
|
||||
<opacity>0.699999988</opacity>
|
||||
</world>
|
||||
</instance>
|
||||
<instance type="txt_question" uid="19">
|
||||
<properties>
|
||||
<character-width>73</character-width>
|
||||
<character-height>91</character-height>
|
||||
<character-set>ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789.,;:?!-_~#"'&()[]|`/@°+=*$£€<>%ÁÀẢẠÃĂẰẮẶẲẴÂẦẤẬẨẪĐÉÈẺẸẼÊỀẾỆỂỄÍÌỊỈĨÓÒỌỎÕÔỒỐỘỔỖƠỜỚỢỞỠÚÙỤỦŨƯỪỨỰỬỮÝỲỴỶỸáàảạãăằắặẳẵâầấậẩẫđéèẻẹẽêềếệểễíìịỉĩóòọỏõôồốộổỗơờớợởỡúùụủũưừứựửữýỳỵỷỹ</character-set>
|
||||
<text>Sắp xếp các từ sau thành câu đúng</text>
|
||||
<scale>0.85</scale>
|
||||
<initial-visibility>Visible</initial-visibility>
|
||||
<horizontal-alignment>Center</horizontal-alignment>
|
||||
<vertical-alignment>Center</vertical-alignment>
|
||||
<hotspot>Center</hotspot>
|
||||
<wrapping>Word</wrapping>
|
||||
<character-spacing>0</character-spacing>
|
||||
<line-height>0</line-height>
|
||||
<char-width-json>{""c2array"":true,""size"":[2,40,1],""data"":[[[22],[11],[13],[14],[15],[19],[20],[21],[22],[23],[24],[26],[27],[28],[29],[30],[37],[38],[39],[40],[41],[42],[43],[44],[45],[46],[47],[49],[50],[51],[52],[53],[54],[55],[56],[58],[59],[61],[62],[71]],[["" ""],[""|""],["":""],[""Iil.,;'Ịị""],[""!""],[""Ỉỉ""],[""`ÍÌíì""],[""[]""],[""j()""],[""-""],[""/""],[""t°""],[""1""],[""rĨĩ""],[""*""],[""f\""""],[""Juz078úùụủũ""],[""hn3569$""],[""Faceks2+=<>áàảạãăằắặẳẵâầấậẩẫéèẻẹẽêềếệểễ""],[""Ldgq""],[""bp4?~""],[""oy£€óòọỏõôồốộổỗýỳỵỷỹ""],[""EPvx#ÉÈẺẸẼÊỀẾỆỂỄ""],[""đ""],[""HNTU_ÚÙỤỦŨ""],[""SZ""],[""BD""],[""C""],[""KR""],[""VX&ưừứựửữ""],[""GYÝỲỴỶỸơờớợởỡ""],[""MĐ""],[""OÓÒỌỎÕÔỒỐỘỔỖ""],[""AÁÀẢẠÃĂẰẮẶẲẴÂẦẤẬẨẪ""],[""Q""],[""ƯỪỨỰỬỮ""],[""mw""],[""%""],[""ƠỜỚỢỞỠ""],[""W@""]]]}</char-width-json>
|
||||
<space-char-width>-1</space-char-width>
|
||||
</properties>
|
||||
<behavior-instances>
|
||||
<behavior-instance type="Pin" />
|
||||
</behavior-instances>
|
||||
<blend-mode>0</blend-mode>
|
||||
<effect-fallback>0</effect-fallback>
|
||||
<world>
|
||||
<x>745</x>
|
||||
<y>-1011</y>
|
||||
<z>0</z>
|
||||
<width>642</width>
|
||||
<height>205</height>
|
||||
<depth>0</depth>
|
||||
<hotspotX>0.5</hotspotX>
|
||||
<hotspotY>0.5</hotspotY>
|
||||
<angle>0</angle>
|
||||
<opacity>1</opacity>
|
||||
</world>
|
||||
</instance>
|
||||
<instance type="btn_Pause" uid="20">
|
||||
<properties>
|
||||
<initial-visibility>Visible</initial-visibility>
|
||||
<initial-animation>Default</initial-animation>
|
||||
<initial-frame>0</initial-frame>
|
||||
<collisions>Enabled</collisions>
|
||||
</properties>
|
||||
<instance-variables>
|
||||
<originX>0</originX>
|
||||
<originY>0</originY>
|
||||
</instance-variables>
|
||||
<behavior-instances>
|
||||
<behavior-instance type="MoveTo">
|
||||
<properties>
|
||||
<activated>Yes</activated>
|
||||
<max-speed>400</max-speed>
|
||||
<acceleration>0</acceleration>
|
||||
<deceleration>0</deceleration>
|
||||
</properties>
|
||||
</behavior-instance>
|
||||
</behavior-instances>
|
||||
<blend-mode>0</blend-mode>
|
||||
<effect-fallback>0</effect-fallback>
|
||||
<world>
|
||||
<x>1858</x>
|
||||
<y>-635</y>
|
||||
<z>0</z>
|
||||
<width>82.666999817</width>
|
||||
<height>75.986999512</height>
|
||||
<depth>0</depth>
|
||||
<hotspotX>0.50505048</hotspotX>
|
||||
<hotspotY>0.505494535</hotspotY>
|
||||
<angle>0</angle>
|
||||
<opacity>1</opacity>
|
||||
</world>
|
||||
</instance>
|
||||
<instance type="btn_music" uid="21">
|
||||
<properties>
|
||||
<initial-visibility>Visible</initial-visibility>
|
||||
<initial-animation>Default</initial-animation>
|
||||
<initial-frame>0</initial-frame>
|
||||
<collisions>Enabled</collisions>
|
||||
</properties>
|
||||
<instance-variables>
|
||||
<originX>0</originX>
|
||||
<originY>0</originY>
|
||||
</instance-variables>
|
||||
<behavior-instances>
|
||||
<behavior-instance type="MoveTo">
|
||||
<properties>
|
||||
<activated>Yes</activated>
|
||||
<max-speed>400</max-speed>
|
||||
<acceleration>0</acceleration>
|
||||
<deceleration>0</deceleration>
|
||||
</properties>
|
||||
</behavior-instance>
|
||||
</behavior-instances>
|
||||
<blend-mode>0</blend-mode>
|
||||
<effect-fallback>0</effect-fallback>
|
||||
<world>
|
||||
<x>1858</x>
|
||||
<y>-727</y>
|
||||
<z>0</z>
|
||||
<width>82.666999817</width>
|
||||
<height>75.986999512</height>
|
||||
<depth>0</depth>
|
||||
<hotspotX>0.50505048</hotspotX>
|
||||
<hotspotY>0.505494535</hotspotY>
|
||||
<angle>0</angle>
|
||||
<opacity>1</opacity>
|
||||
</world>
|
||||
</instance>
|
||||
<instance type="btn_setting" uid="17">
|
||||
<properties>
|
||||
<initial-visibility>Visible</initial-visibility>
|
||||
<initial-animation>Default</initial-animation>
|
||||
<initial-frame>0</initial-frame>
|
||||
<collisions>Enabled</collisions>
|
||||
</properties>
|
||||
<blend-mode>0</blend-mode>
|
||||
<effect-fallback>0</effect-fallback>
|
||||
<world>
|
||||
<x>1859</x>
|
||||
<y>-544</y>
|
||||
<z>0</z>
|
||||
<width>82.666770935</width>
|
||||
<height>75.986625671</height>
|
||||
<depth>0</depth>
|
||||
<hotspotX>0.50505048</hotspotX>
|
||||
<hotspotY>0.505494535</hotspotY>
|
||||
<angle>0</angle>
|
||||
<opacity>1</opacity>
|
||||
</world>
|
||||
</instance>
|
||||
<instance type="btn_WordItem" uid="27">
|
||||
<properties>
|
||||
<initial-visibility>Visible</initial-visibility>
|
||||
<initial-animation>Default</initial-animation>
|
||||
<initial-frame>1</initial-frame>
|
||||
<collisions>Enabled</collisions>
|
||||
</properties>
|
||||
<instance-variables>
|
||||
<num>0</num>
|
||||
<text></text>
|
||||
<originX>0</originX>
|
||||
<originY>0</originY>
|
||||
<slotIndex>-1</slotIndex>
|
||||
<dist>0</dist>
|
||||
</instance-variables>
|
||||
<behavior-instances>
|
||||
<behavior-instance type="DragDrop">
|
||||
<properties>
|
||||
<axes>Both</axes>
|
||||
<initial-state>Enabled</initial-state>
|
||||
</properties>
|
||||
</behavior-instance>
|
||||
<behavior-instance type="Fade">
|
||||
<properties>
|
||||
<active-at-start>No</active-at-start>
|
||||
<fade-in-time>0</fade-in-time>
|
||||
<wait-time>0</wait-time>
|
||||
<fade-out-time>2</fade-out-time>
|
||||
<destroy>After fade out</destroy>
|
||||
</properties>
|
||||
</behavior-instance>
|
||||
<behavior-instance type="MoveTo">
|
||||
<properties>
|
||||
<activated>Yes</activated>
|
||||
<max-speed>1200</max-speed>
|
||||
<acceleration>0</acceleration>
|
||||
<deceleration>0</deceleration>
|
||||
</properties>
|
||||
</behavior-instance>
|
||||
<behavior-instance type="Pin" />
|
||||
</behavior-instances>
|
||||
<blend-mode>0</blend-mode>
|
||||
<effect-fallback>0</effect-fallback>
|
||||
<world>
|
||||
<x>-291</x>
|
||||
<y>-1030</y>
|
||||
<z>0</z>
|
||||
<width>200</width>
|
||||
<height>85</height>
|
||||
<depth>0</depth>
|
||||
<hotspotX>0.5</hotspotX>
|
||||
<hotspotY>0.411764711</hotspotY>
|
||||
<angle>0</angle>
|
||||
<opacity>1</opacity>
|
||||
</world>
|
||||
</instance>
|
||||
<instance type="txt_WordItem" uid="25">
|
||||
<properties>
|
||||
<character-width>73</character-width>
|
||||
<character-height>91</character-height>
|
||||
<character-set>ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789.,;:?!-_~#"'&()[]|`/@°+=*$£€<>%ÁÀẢẠÃĂẰẮẶẲẴÂẦẤẬẨẪĐÉÈẺẸẼÊỀẾỆỂỄÍÌỊỈĨÓÒỌỎÕÔỒỐỘỔỖƠỜỚỢỞỠÚÙỤỦŨƯỪỨỰỬỮÝỲỴỶỸáàảạãăằắặẳẵâầấậẩẫđéèẻẹẽêềếệểễíìịỉĩóòọỏõôồốộổỗơờớợởỡúùụủũưừứựửữýỳỵỷỹ</character-set>
|
||||
<text>WW</text>
|
||||
<scale>0.5</scale>
|
||||
<initial-visibility>Visible</initial-visibility>
|
||||
<horizontal-alignment>Center</horizontal-alignment>
|
||||
<vertical-alignment>Center</vertical-alignment>
|
||||
<hotspot>Center</hotspot>
|
||||
<wrapping>Word</wrapping>
|
||||
<character-spacing>0</character-spacing>
|
||||
<line-height>0</line-height>
|
||||
<char-width-json>{""c2array"":true,""size"":[2,40,1],""data"":[[[22],[11],[13],[14],[15],[19],[20],[21],[22],[23],[24],[26],[27],[28],[29],[30],[37],[38],[39],[40],[41],[42],[43],[44],[45],[46],[47],[49],[50],[51],[52],[53],[54],[55],[56],[58],[59],[61],[62],[71]],[["" ""],[""|""],["":""],[""Iil.,;'Ịị""],[""!""],[""Ỉỉ""],[""`ÍÌíì""],[""[]""],[""j()""],[""-""],[""/""],[""t°""],[""1""],[""rĨĩ""],[""*""],[""f\""""],[""Juz078úùụủũ""],[""hn3569$""],[""Faceks2+=<>áàảạãăằắặẳẵâầấậẩẫéèẻẹẽêềếệểễ""],[""Ldgq""],[""bp4?~""],[""oy£€óòọỏõôồốộổỗýỳỵỷỹ""],[""EPvx#ÉÈẺẸẼÊỀẾỆỂỄ""],[""đ""],[""HNTU_ÚÙỤỦŨ""],[""SZ""],[""BD""],[""C""],[""KR""],[""VX&ưừứựửữ""],[""GYÝỲỴỶỸơờớợởỡ""],[""MĐ""],[""OÓÒỌỎÕÔỒỐỘỔỖ""],[""AÁÀẢẠÃĂẰẮẶẲẴÂẦẤẬẨẪ""],[""Q""],[""ƯỪỨỰỬỮ""],[""mw""],[""%""],[""ƠỜỚỢỞỠ""],[""W@""]]]}</char-width-json>
|
||||
<space-char-width>-1</space-char-width>
|
||||
</properties>
|
||||
<behavior-instances>
|
||||
<behavior-instance type="Pin" />
|
||||
</behavior-instances>
|
||||
<blend-mode>0</blend-mode>
|
||||
<effect-fallback>0</effect-fallback>
|
||||
<world>
|
||||
<x>-291</x>
|
||||
<y>-1030</y>
|
||||
<z>0</z>
|
||||
<width>160.211120605</width>
|
||||
<height>55.539886475</height>
|
||||
<depth>0</depth>
|
||||
<hotspotX>0.5</hotspotX>
|
||||
<hotspotY>0.5</hotspotY>
|
||||
<angle>0</angle>
|
||||
<opacity>1</opacity>
|
||||
</world>
|
||||
</instance>
|
||||
<instance type="btn_WordItem" uid="28">
|
||||
<properties>
|
||||
<initial-visibility>Visible</initial-visibility>
|
||||
<initial-animation>Default</initial-animation>
|
||||
<initial-frame>2</initial-frame>
|
||||
<collisions>Enabled</collisions>
|
||||
</properties>
|
||||
<instance-variables>
|
||||
<num>0</num>
|
||||
<text></text>
|
||||
<originX>0</originX>
|
||||
<originY>0</originY>
|
||||
<slotIndex>-1</slotIndex>
|
||||
<dist>0</dist>
|
||||
</instance-variables>
|
||||
<behavior-instances>
|
||||
<behavior-instance type="DragDrop">
|
||||
<properties>
|
||||
<axes>Both</axes>
|
||||
<initial-state>Enabled</initial-state>
|
||||
</properties>
|
||||
</behavior-instance>
|
||||
<behavior-instance type="Fade">
|
||||
<properties>
|
||||
<active-at-start>No</active-at-start>
|
||||
<fade-in-time>0</fade-in-time>
|
||||
<wait-time>0</wait-time>
|
||||
<fade-out-time>2</fade-out-time>
|
||||
<destroy>After fade out</destroy>
|
||||
</properties>
|
||||
</behavior-instance>
|
||||
<behavior-instance type="MoveTo">
|
||||
<properties>
|
||||
<activated>Yes</activated>
|
||||
<max-speed>1200</max-speed>
|
||||
<acceleration>0</acceleration>
|
||||
<deceleration>0</deceleration>
|
||||
</properties>
|
||||
</behavior-instance>
|
||||
<behavior-instance type="Pin" />
|
||||
</behavior-instances>
|
||||
<blend-mode>0</blend-mode>
|
||||
<effect-fallback>0</effect-fallback>
|
||||
<world>
|
||||
<x>-522</x>
|
||||
<y>-1030</y>
|
||||
<z>0</z>
|
||||
<width>200</width>
|
||||
<height>85</height>
|
||||
<depth>0</depth>
|
||||
<hotspotX>0.5</hotspotX>
|
||||
<hotspotY>0.411764711</hotspotY>
|
||||
<angle>0</angle>
|
||||
<opacity>1</opacity>
|
||||
</world>
|
||||
</instance>
|
||||
<instance type="txt_WordItem" uid="26">
|
||||
<properties>
|
||||
<character-width>73</character-width>
|
||||
<character-height>91</character-height>
|
||||
<character-set>ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789.,;:?!-_~#"'&()[]|`/@°+=*$£€<>%ÁÀẢẠÃĂẰẮẶẲẴÂẦẤẬẨẪĐÉÈẺẸẼÊỀẾỆỂỄÍÌỊỈĨÓÒỌỎÕÔỒỐỘỔỖƠỜỚỢỞỠÚÙỤỦŨƯỪỨỰỬỮÝỲỴỶỸáàảạãăằắặẳẵâầấậẩẫđéèẻẹẽêềếệểễíìịỉĩóòọỏõôồốộổỗơờớợởỡúùụủũưừứựửữýỳỵỷỹ</character-set>
|
||||
<text>WWW</text>
|
||||
<scale>0.5</scale>
|
||||
<initial-visibility>Visible</initial-visibility>
|
||||
<horizontal-alignment>Center</horizontal-alignment>
|
||||
<vertical-alignment>Center</vertical-alignment>
|
||||
<hotspot>Center</hotspot>
|
||||
<wrapping>Word</wrapping>
|
||||
<character-spacing>0</character-spacing>
|
||||
<line-height>0</line-height>
|
||||
<char-width-json>{""c2array"":true,""size"":[2,40,1],""data"":[[[22],[11],[13],[14],[15],[19],[20],[21],[22],[23],[24],[26],[27],[28],[29],[30],[37],[38],[39],[40],[41],[42],[43],[44],[45],[46],[47],[49],[50],[51],[52],[53],[54],[55],[56],[58],[59],[61],[62],[71]],[["" ""],[""|""],["":""],[""Iil.,;'Ịị""],[""!""],[""Ỉỉ""],[""`ÍÌíì""],[""[]""],[""j()""],[""-""],[""/""],[""t°""],[""1""],[""rĨĩ""],[""*""],[""f\""""],[""Juz078úùụủũ""],[""hn3569$""],[""Faceks2+=<>áàảạãăằắặẳẵâầấậẩẫéèẻẹẽêềếệểễ""],[""Ldgq""],[""bp4?~""],[""oy£€óòọỏõôồốộổỗýỳỵỷỹ""],[""EPvx#ÉÈẺẸẼÊỀẾỆỂỄ""],[""đ""],[""HNTU_ÚÙỤỦŨ""],[""SZ""],[""BD""],[""C""],[""KR""],[""VX&ưừứựửữ""],[""GYÝỲỴỶỸơờớợởỡ""],[""MĐ""],[""OÓÒỌỎÕÔỒỐỘỔỖ""],[""AÁÀẢẠÃĂẰẮẶẲẴÂẦẤẬẨẪ""],[""Q""],[""ƯỪỨỰỬỮ""],[""mw""],[""%""],[""ƠỜỚỢỞỠ""],[""W@""]]]}</char-width-json>
|
||||
<space-char-width>-1</space-char-width>
|
||||
</properties>
|
||||
<behavior-instances>
|
||||
<behavior-instance type="Pin" />
|
||||
</behavior-instances>
|
||||
<blend-mode>0</blend-mode>
|
||||
<effect-fallback>0</effect-fallback>
|
||||
<world>
|
||||
<x>-522</x>
|
||||
<y>-1030</y>
|
||||
<z>0</z>
|
||||
<width>160.211120605</width>
|
||||
<height>55.539886475</height>
|
||||
<depth>0</depth>
|
||||
<hotspotX>0.5</hotspotX>
|
||||
<hotspotY>0.5</hotspotY>
|
||||
<angle>0</angle>
|
||||
<opacity>1</opacity>
|
||||
</world>
|
||||
</instance>
|
||||
<instance type="btn_WordItem" uid="29">
|
||||
<properties>
|
||||
<initial-visibility>Visible</initial-visibility>
|
||||
<initial-animation>Default</initial-animation>
|
||||
<initial-frame>3</initial-frame>
|
||||
<collisions>Enabled</collisions>
|
||||
</properties>
|
||||
<instance-variables>
|
||||
<num>0</num>
|
||||
<text></text>
|
||||
<originX>0</originX>
|
||||
<originY>0</originY>
|
||||
<slotIndex>-1</slotIndex>
|
||||
<dist>0</dist>
|
||||
</instance-variables>
|
||||
<behavior-instances>
|
||||
<behavior-instance type="DragDrop">
|
||||
<properties>
|
||||
<axes>Both</axes>
|
||||
<initial-state>Enabled</initial-state>
|
||||
</properties>
|
||||
</behavior-instance>
|
||||
<behavior-instance type="Fade">
|
||||
<properties>
|
||||
<active-at-start>No</active-at-start>
|
||||
<fade-in-time>0</fade-in-time>
|
||||
<wait-time>0</wait-time>
|
||||
<fade-out-time>2</fade-out-time>
|
||||
<destroy>After fade out</destroy>
|
||||
</properties>
|
||||
</behavior-instance>
|
||||
<behavior-instance type="MoveTo">
|
||||
<properties>
|
||||
<activated>Yes</activated>
|
||||
<max-speed>1200</max-speed>
|
||||
<acceleration>0</acceleration>
|
||||
<deceleration>0</deceleration>
|
||||
</properties>
|
||||
</behavior-instance>
|
||||
<behavior-instance type="Pin" />
|
||||
</behavior-instances>
|
||||
<blend-mode>0</blend-mode>
|
||||
<effect-fallback>0</effect-fallback>
|
||||
<world>
|
||||
<x>-757</x>
|
||||
<y>-1030</y>
|
||||
<z>0</z>
|
||||
<width>200</width>
|
||||
<height>85</height>
|
||||
<depth>0</depth>
|
||||
<hotspotX>0.5</hotspotX>
|
||||
<hotspotY>0.411764711</hotspotY>
|
||||
<angle>0</angle>
|
||||
<opacity>1</opacity>
|
||||
</world>
|
||||
</instance>
|
||||
</instances>
|
||||
<effects />
|
||||
</layer>
|
||||
<layer name="Pause" sid="621954870190361">
|
||||
<initially-visible>1</initially-visible>
|
||||
<background-color>255,255,255</background-color>
|
||||
<transparent>1</transparent>
|
||||
<parallax>
|
||||
<x>1</x>
|
||||
<y>1</y>
|
||||
</parallax>
|
||||
<zoom-rate>1</zoom-rate>
|
||||
<opacity>1</opacity>
|
||||
<force-own-texture>0</force-own-texture>
|
||||
<global>0</global>
|
||||
<use-render-cells>0</use-render-cells>
|
||||
<blend-mode>0</blend-mode>
|
||||
<effect-fallback>0</effect-fallback>
|
||||
<instances>
|
||||
<instance type="panel_pause" uid="22">
|
||||
<properties>
|
||||
<initial-visibility>Visible</initial-visibility>
|
||||
<initial-animation>Default</initial-animation>
|
||||
<initial-frame>0</initial-frame>
|
||||
<collisions>Enabled</collisions>
|
||||
</properties>
|
||||
<blend-mode>0</blend-mode>
|
||||
<effect-fallback>0</effect-fallback>
|
||||
<world>
|
||||
<x>600</x>
|
||||
<y>600</y>
|
||||
<z>0</z>
|
||||
<width>1946.036010742</width>
|
||||
<height>1251.022949219</height>
|
||||
<depth>0</depth>
|
||||
<hotspotX>0.5</hotspotX>
|
||||
<hotspotY>0.5</hotspotY>
|
||||
<angle>0</angle>
|
||||
<opacity>1</opacity>
|
||||
</world>
|
||||
</instance>
|
||||
<instance type="Layer" uid="23">
|
||||
<properties>
|
||||
<initial-visibility>Visible</initial-visibility>
|
||||
<initial-animation>Default</initial-animation>
|
||||
<initial-frame>0</initial-frame>
|
||||
<collisions>Enabled</collisions>
|
||||
</properties>
|
||||
<behavior-instances>
|
||||
<behavior-instance type="Sine">
|
||||
<properties>
|
||||
<active-on-start>Yes</active-on-start>
|
||||
<movement>Size</movement>
|
||||
<wave>Sine</wave>
|
||||
<period>3</period>
|
||||
<period-random>0</period-random>
|
||||
<period-offset>0</period-offset>
|
||||
<period-offset-random>0</period-offset-random>
|
||||
<magnitude>50</magnitude>
|
||||
<magnitude-random>0</magnitude-random>
|
||||
</properties>
|
||||
</behavior-instance>
|
||||
</behavior-instances>
|
||||
<blend-mode>0</blend-mode>
|
||||
<effect-fallback>0</effect-fallback>
|
||||
<world>
|
||||
<x>600</x>
|
||||
<y>600</y>
|
||||
<z>0</z>
|
||||
<width>400</width>
|
||||
<height>376</height>
|
||||
<depth>0</depth>
|
||||
<hotspotX>0.5</hotspotX>
|
||||
<hotspotY>0.5</hotspotY>
|
||||
<angle>0</angle>
|
||||
<opacity>1</opacity>
|
||||
</world>
|
||||
</instance>
|
||||
</instances>
|
||||
<effects />
|
||||
</layer>
|
||||
<layer name="Logo" sid="899027236628199">
|
||||
<initially-visible>1</initially-visible>
|
||||
<background-color>255,255,255</background-color>
|
||||
<transparent>1</transparent>
|
||||
<parallax>
|
||||
<x>1</x>
|
||||
<y>1</y>
|
||||
</parallax>
|
||||
<zoom-rate>1</zoom-rate>
|
||||
<opacity>1</opacity>
|
||||
<force-own-texture>0</force-own-texture>
|
||||
<global>0</global>
|
||||
<use-render-cells>0</use-render-cells>
|
||||
<blend-mode>0</blend-mode>
|
||||
<effect-fallback>0</effect-fallback>
|
||||
<instances>
|
||||
<instance type="NewWordpng" uid="24">
|
||||
<properties>
|
||||
<initial-visibility>Visible</initial-visibility>
|
||||
<initial-animation>Default</initial-animation>
|
||||
<initial-frame>0</initial-frame>
|
||||
<collisions>Enabled</collisions>
|
||||
</properties>
|
||||
<behavior-instances>
|
||||
<behavior-instance type="Anchor">
|
||||
<properties>
|
||||
<left-edge>Window left</left-edge>
|
||||
<top-edge>Window top</top-edge>
|
||||
<right-edge>None</right-edge>
|
||||
<bottom-edge>None</bottom-edge>
|
||||
<initial-state>Enabled</initial-state>
|
||||
</properties>
|
||||
</behavior-instance>
|
||||
</behavior-instances>
|
||||
<blend-mode>0</blend-mode>
|
||||
<effect-fallback>0</effect-fallback>
|
||||
<world>
|
||||
<x>110</x>
|
||||
<y>77</y>
|
||||
<z>0</z>
|
||||
<width>195.739074707</width>
|
||||
<height>133.494049072</height>
|
||||
<depth>0</depth>
|
||||
<hotspotX>0.5</hotspotX>
|
||||
<hotspotY>0.501466274</hotspotY>
|
||||
<angle>0</angle>
|
||||
<opacity>1</opacity>
|
||||
</world>
|
||||
</instance>
|
||||
</instances>
|
||||
<effects />
|
||||
</layer>
|
||||
</layers>
|
||||
<nonworld-instances>
|
||||
<instance type="JSON" uid="3" />
|
||||
</nonworld-instances>
|
||||
<effects />
|
||||
</c2layout>
|
||||
BIN
source/Test/Textures/txt_Slot.png
Normal file
|
After Width: | Height: | Size: 177 KiB |
BIN
source/Test/Textures/txt_TextTimer.png
Normal file
|
After Width: | Height: | Size: 104 KiB |
BIN
source/Test/Textures/txt_WordItem.png
Normal file
|
After Width: | Height: | Size: 177 KiB |
BIN
source/Test/Textures/txt_question.png
Normal file
|
After Width: | Height: | Size: 177 KiB |
424
source/Test/image_spelling_sequence_sentence_teacher.caproj
Normal file
@@ -0,0 +1,424 @@
|
||||
<?xml version="1.0" encoding="utf-8" ?>
|
||||
<c2project>
|
||||
<name>image_spelling_sequence_sentence_teacher</name>
|
||||
<description></description>
|
||||
<version>1.0.0.0</version>
|
||||
<author></author>
|
||||
<author-email></author-email>
|
||||
<author-website>http://</author-website>
|
||||
<app-id>com.mycompany.myapp</app-id>
|
||||
<unique-id>1isg9k17yafpp</unique-id>
|
||||
<saved-with-version>28000</saved-with-version>
|
||||
<used-plugins>
|
||||
<plugin author="Scirra" id="Audio" version="1">Audio</plugin>
|
||||
<plugin author="Scirra" id="Browser" version="1">Browser</plugin>
|
||||
<plugin author="Scirra" id="Function" version="1">Function</plugin>
|
||||
<plugin author="Yann Granjon" id="JSON" version="1.200000048">JSON</plugin>
|
||||
<plugin author="Sena Technology" id="SenaPlugin" version="2.200000048">SenaAI</plugin>
|
||||
<plugin author="Scirra" id="Sprite" version="1">Sprite</plugin>
|
||||
<plugin author="Chris Kent" id="SpriteFontPlus" version="1">SpriteFont+</plugin>
|
||||
<plugin author="Scirra" id="Touch" version="1">Touch</plugin>
|
||||
</used-plugins>
|
||||
<used-behaviors>
|
||||
<behavior author="Scirra" id="Anchor" version="1">Anchor</behavior>
|
||||
<behavior author="Scirra" id="DragnDrop" version="1">Drag & Drop</behavior>
|
||||
<behavior author="Scirra" id="Fade" version="1">Fade</behavior>
|
||||
<behavior author="Scirra" id="Pin" version="1">Pin</behavior>
|
||||
<behavior author="Rex.Rainbow" id="Rex_MoveTo" version="1">MoveTo</behavior>
|
||||
<behavior author="Scirra" id="Sin" version="1">Sine</behavior>
|
||||
</used-behaviors>
|
||||
<used-effects />
|
||||
<configurations>
|
||||
<configuration exporter-descname="HTML5" exporter-id="html5" name="HTML5" />
|
||||
</configurations>
|
||||
<window-size>
|
||||
<width>1200</width>
|
||||
<height>1200</height>
|
||||
</window-size>
|
||||
<pixel-rounding>0</pixel-rounding>
|
||||
<preview-effects>1</preview-effects>
|
||||
<use-loader-layout>0</use-loader-layout>
|
||||
<configuration-settings>
|
||||
<prop name="Clear background">Yes</prop>
|
||||
<prop name="Downscaling">Medium quality</prop>
|
||||
<prop name="Enable WebGL">On</prop>
|
||||
<prop name="Fullscreen in browser">Scale outer</prop>
|
||||
<prop name="Fullscreen scaling">High quality</prop>
|
||||
<prop name="Loader style">Nothing (not recommended)</prop>
|
||||
<prop name="Orientations">Any</prop>
|
||||
<prop name="Pause on unfocus">No</prop>
|
||||
<prop name="Physics engine">Box2D asm.js</prop>
|
||||
<prop name="Preload sounds">Yes</prop>
|
||||
<prop name="Preview browser">(default)</prop>
|
||||
<prop name="Sampling">Linear</prop>
|
||||
<prop name="Use high-DPI display">Yes</prop>
|
||||
</configuration-settings>
|
||||
<object-folder>
|
||||
<object-type name="SenaAI" sid="394152958375253">
|
||||
<plugin id="SenaPlugin" />
|
||||
</object-type>
|
||||
<object-type name="Browser" sid="181015701933739">
|
||||
<plugin id="Browser" />
|
||||
</object-type>
|
||||
<object-type name="btn_check" sid="870372553390403">
|
||||
<plugin id="Sprite" />
|
||||
<animation-folder>
|
||||
<animation framecount="1" loop="0" name="Default" pingpong="0" repeatcount="1" repeatto="0" sid="266653407798345" speed="5">
|
||||
<frame duration="1" hotspotX="0.5" hotspotY="0.501538" original-source="C:\Users\GIGABYTE\Downloads\02_Sequence\Submit 1.png" />
|
||||
</animation>
|
||||
</animation-folder>
|
||||
</object-type>
|
||||
<object-type name="Touch" sid="288430412484243">
|
||||
<plugin id="Touch" />
|
||||
</object-type>
|
||||
<object-type name="pause" sid="829278278494442">
|
||||
<plugin id="Sprite" />
|
||||
<animation-folder>
|
||||
<animation framecount="1" loop="0" name="Default" pingpong="0" repeatcount="1" repeatto="0" sid="974942116247628" speed="5">
|
||||
<frame duration="1" hotspotX="0.5" hotspotY="0.5" />
|
||||
</animation>
|
||||
</animation-folder>
|
||||
</object-type>
|
||||
<object-type name="resume" sid="250461366236378">
|
||||
<plugin id="Sprite" />
|
||||
<animation-folder>
|
||||
<animation framecount="1" loop="0" name="Default" pingpong="0" repeatcount="1" repeatto="0" sid="830476950235748" speed="5">
|
||||
<frame duration="1" hotspotX="0.5" hotspotY="0.5" />
|
||||
</animation>
|
||||
</animation-folder>
|
||||
</object-type>
|
||||
<object-type name="Slot" sid="530929310100717">
|
||||
<plugin id="Sprite" />
|
||||
<instance-variables>
|
||||
<instance-variable name="index" sid="839027338172447" type="number" />
|
||||
<instance-variable name="word" sid="370467464601183" type="string" />
|
||||
<instance-variable name="locked" sid="403859397610033" type="boolean" />
|
||||
</instance-variables>
|
||||
<behaviors>
|
||||
<behavior-type name="Fade" sid="588103285968005">
|
||||
<behavior id="Fade" />
|
||||
</behavior-type>
|
||||
</behaviors>
|
||||
<animation-folder>
|
||||
<animation framecount="8" loop="0" name="Default" pingpong="0" repeatcount="1" repeatto="0" sid="201845729772152" speed="0">
|
||||
<frame duration="1" hotspotX="0.505" hotspotY="0.423529" original-source="C:\Users\GIGABYTE\Downloads\02_Sequence\vien.png" />
|
||||
<frame duration="1" hotspotX="0.5" hotspotY="0.423529" original-source="C:\Users\GIGABYTE\Downloads\02_Sequence\Khung option 1.png" />
|
||||
<frame duration="1" hotspotX="0.5" hotspotY="0.505882" original-source="C:\Users\GIGABYTE\Downloads\02_Sequence\Khung option 1.png" />
|
||||
<frame duration="1" hotspotX="0.5" hotspotY="0.505882" original-source="C:\Users\GIGABYTE\Downloads\02_Sequence\Answer Frame dung.png" />
|
||||
<frame duration="1" hotspotX="0.500888" hotspotY="0.5" original-source="C:\Users\GIGABYTE\Downloads\02_Sequence\Answer Frame sai.png" />
|
||||
<frame duration="1" hotspotX="0.5" hotspotY="0.506667" />
|
||||
<frame duration="1" hotspotX="0.5" hotspotY="0.493333" original-source="C:\Users\GIGABYTE\Downloads\SenaaiKhoi (1).png" />
|
||||
<frame duration="1" hotspotX="0.435" hotspotY="0.52" original-source="C:\Users\GIGABYTE\Downloads\SenaaiKhoi (2).png" />
|
||||
</animation>
|
||||
</animation-folder>
|
||||
</object-type>
|
||||
<object-type name="btn_WordItem" sid="515230787966511">
|
||||
<plugin id="Sprite" />
|
||||
<instance-variables>
|
||||
<instance-variable name="num" sid="617093471778717" type="number" />
|
||||
<instance-variable name="text" sid="401281652261798" type="string" />
|
||||
<instance-variable name="originX" sid="308058330719086" type="number" />
|
||||
<instance-variable name="originY" sid="937883104346632" type="number" />
|
||||
<instance-variable name="slotIndex" sid="243525000976275" type="number" />
|
||||
<instance-variable name="dist" sid="435711195864159" type="number" />
|
||||
</instance-variables>
|
||||
<behaviors>
|
||||
<behavior-type name="DragDrop" sid="551257499299552">
|
||||
<behavior id="DragnDrop" />
|
||||
</behavior-type>
|
||||
<behavior-type name="Fade" sid="430149822241515">
|
||||
<behavior id="Fade" />
|
||||
</behavior-type>
|
||||
<behavior-type name="MoveTo" sid="551694077436381">
|
||||
<behavior id="Rex_MoveTo" />
|
||||
</behavior-type>
|
||||
<behavior-type name="Pin" sid="739718864734046">
|
||||
<behavior id="Pin" />
|
||||
</behavior-type>
|
||||
</behaviors>
|
||||
<animation-folder>
|
||||
<animation framecount="1" loop="0" name="Default" pingpong="0" repeatcount="1" repeatto="0" sid="344548683716056" speed="0">
|
||||
<frame duration="1" hotspotX="0.5" hotspotY="0.411765" original-source="C:\Users\GIGABYTE\Downloads\02_Sequence\Khung option 1.png" />
|
||||
</animation>
|
||||
</animation-folder>
|
||||
</object-type>
|
||||
<object-type name="Function" sid="825652157577718">
|
||||
<plugin id="Function" />
|
||||
</object-type>
|
||||
<object-type name="txt_TextTimer" sid="428453985749595">
|
||||
<plugin id="SpriteFontPlus" />
|
||||
<texture original-source="C:\Users\GIGABYTE\Desktop\UI\Font\SpriteFont_ArialRoundedMT_Bold_(72)_[1,1,1,1]_76x83.png" />
|
||||
</object-type>
|
||||
<object-type name="txt_WordItem" sid="125516006976486">
|
||||
<plugin id="SpriteFontPlus" />
|
||||
<texture original-source="C:\Users\GIGABYTE\Desktop\UI\Font\SpriteFont_Arial_Bold_(72)_[1,1,1,1]_73x91.png" />
|
||||
</object-type>
|
||||
<object-type name="txt_Slot" sid="680183373657896">
|
||||
<plugin id="SpriteFontPlus" />
|
||||
<texture original-source="C:\Users\GIGABYTE\Desktop\UI\Font\SpriteFont_Arial_Bold_(72)_[1,1,1,1]_73x91.png" />
|
||||
</object-type>
|
||||
<object-type name="SenaaiKhoi" sid="577948289650662">
|
||||
<plugin id="Sprite" />
|
||||
<animation-folder>
|
||||
<animation framecount="1" loop="0" name="Default" pingpong="0" repeatcount="1" repeatto="0" sid="174194635978617" speed="5">
|
||||
<frame duration="1" hotspotX="0.499563" hotspotY="0.497758" original-source="C:\Users\GIGABYTE\Downloads\SenaaiKhoi (5).png" />
|
||||
</animation>
|
||||
</animation-folder>
|
||||
</object-type>
|
||||
<object-type name="checker_wrong_correct" sid="246032193737445">
|
||||
<plugin id="Sprite" />
|
||||
<animation-folder>
|
||||
<animation framecount="2" loop="0" name="Default" pingpong="0" repeatcount="1" repeatto="0" sid="329974099612225" speed="0">
|
||||
<frame duration="1" hotspotX="0.5" hotspotY="0.5" original-source="C:\Users\GIGABYTE\Downloads\vf.png">
|
||||
<collision-poly>
|
||||
<point x="0.135714" y="0.135714" />
|
||||
<point x="0.5" y="0.0642857" />
|
||||
<point x="0.864286" y="0.135714" />
|
||||
<point x="0.9" y="0.5" />
|
||||
<point x="0.814286" y="0.814286" />
|
||||
<point x="0.5" y="0.942857" />
|
||||
<point x="0.207143" y="0.792857" />
|
||||
<point x="0.114286" y="0.5" />
|
||||
</collision-poly>
|
||||
</frame>
|
||||
<frame duration="1" hotspotX="0.5" hotspotY="0.5" original-source="C:\Users\GIGABYTE\Downloads\vff.png">
|
||||
<collision-poly>
|
||||
<point x="0.142857" y="0.142857" />
|
||||
<point x="0.5" y="0.0642857" />
|
||||
<point x="0.857143" y="0.142857" />
|
||||
<point x="0.885714" y="0.5" />
|
||||
<point x="0.864286" y="0.864286" />
|
||||
<point x="0.5" y="0.914286" />
|
||||
<point x="0.214286" y="0.785714" />
|
||||
<point x="0.114286" y="0.5" />
|
||||
</collision-poly>
|
||||
</frame>
|
||||
</animation>
|
||||
</animation-folder>
|
||||
</object-type>
|
||||
<object-type name="Audio" sid="396522085041537">
|
||||
<plugin id="Audio" />
|
||||
</object-type>
|
||||
<object-type name="btn_setting" sid="444899307061590">
|
||||
<plugin id="Sprite" />
|
||||
<animation-folder>
|
||||
<animation framecount="1" loop="0" name="Default" pingpong="0" repeatcount="1" repeatto="0" sid="857466576876240" speed="5">
|
||||
<frame duration="1" hotspotX="0.50505" hotspotY="0.505495" original-source="C:\Users\GIGABYTE\Downloads\UI nút\Layer 5.png">
|
||||
<collision-poly>
|
||||
<point x="0.139364" y="0.150794" />
|
||||
<point x="0.498778" y="0.0026455" />
|
||||
<point x="0.860636" y="0.150794" />
|
||||
<point x="0.99022" y="0.5" />
|
||||
<point x="0.865526" y="0.854497" />
|
||||
<point x="0.498778" y="0.992063" />
|
||||
<point x="0.136919" y="0.851852" />
|
||||
<point x="0.00733496" y="0.5" />
|
||||
</collision-poly>
|
||||
</frame>
|
||||
</animation>
|
||||
</animation-folder>
|
||||
</object-type>
|
||||
<object-type name="panel" sid="150393696478915">
|
||||
<plugin id="Sprite" />
|
||||
<animation-folder>
|
||||
<animation framecount="1" loop="0" name="Default" pingpong="0" repeatcount="1" repeatto="0" sid="922486781068681" speed="5">
|
||||
<frame duration="1" hotspotX="0.5" hotspotY="0.5" original-source="C:\Users\GIGABYTE\Downloads\02_Sequence\Image frame.png" />
|
||||
</animation>
|
||||
</animation-folder>
|
||||
</object-type>
|
||||
<object-type name="txt_question" sid="389192760965508">
|
||||
<plugin id="SpriteFontPlus" />
|
||||
<texture original-source="C:\Users\GIGABYTE\Desktop\UI\Font\SpriteFont_Arial_Bold_(72)_[1,1,1,1]_73x91.png" />
|
||||
</object-type>
|
||||
<object-type name="btn_Pause" sid="680660539195378">
|
||||
<plugin id="Sprite" />
|
||||
<instance-variables>
|
||||
<instance-variable name="originX" sid="637523801130517" type="number" />
|
||||
<instance-variable name="originY" sid="567457434227301" type="number" />
|
||||
</instance-variables>
|
||||
<behaviors>
|
||||
<behavior-type name="MoveTo" sid="345261300394347">
|
||||
<behavior id="Rex_MoveTo" />
|
||||
</behavior-type>
|
||||
</behaviors>
|
||||
<animation-folder>
|
||||
<animation framecount="1" loop="0" name="Default" pingpong="0" repeatcount="1" repeatto="0" sid="177577261579169" speed="5">
|
||||
<frame duration="1" hotspotX="0.50505" hotspotY="0.505495" original-source="C:\Users\GIGABYTE\Downloads\UI nút (1)\Layer 6.png">
|
||||
<collision-poly>
|
||||
<point x="0.139303" y="0.147757" />
|
||||
<point x="0.5" y="0.00263852" />
|
||||
<point x="0.860696" y="0.147757" />
|
||||
<point x="0.995025" y="0.498681" />
|
||||
<point x="0.863184" y="0.854881" />
|
||||
<point x="0.5" y="0.994723" />
|
||||
<point x="0.139303" y="0.852243" />
|
||||
<point x="0.00746269" y="0.498681" />
|
||||
</collision-poly>
|
||||
</frame>
|
||||
</animation>
|
||||
</animation-folder>
|
||||
</object-type>
|
||||
<object-type name="btn_music" sid="470943728107764">
|
||||
<plugin id="Sprite" />
|
||||
<instance-variables>
|
||||
<instance-variable name="originX" sid="546775332106909" type="number" />
|
||||
<instance-variable name="originY" sid="966775272495183" type="number" />
|
||||
</instance-variables>
|
||||
<behaviors>
|
||||
<behavior-type name="MoveTo" sid="561713266057788">
|
||||
<behavior id="Rex_MoveTo" />
|
||||
</behavior-type>
|
||||
</behaviors>
|
||||
<animation-folder>
|
||||
<animation framecount="2" loop="0" name="Default" pingpong="0" repeatcount="1" repeatto="0" sid="632596314970396" speed="0">
|
||||
<frame duration="1" hotspotX="0.50505" hotspotY="0.505495" original-source="C:\Users\GIGABYTE\Downloads\UI nút (1)\Layer 3.png" />
|
||||
<frame duration="1" hotspotX="0.50505" hotspotY="0.505495" original-source="C:\Users\GIGABYTE\Downloads\UI nút (1)\Layer 10.png" />
|
||||
</animation>
|
||||
</animation-folder>
|
||||
</object-type>
|
||||
<object-type name="panel_pause" sid="103999013142366">
|
||||
<plugin id="Sprite" />
|
||||
<animation-folder>
|
||||
<animation framecount="1" loop="0" name="Default" pingpong="0" repeatcount="1" repeatto="0" sid="804798480075980" speed="5">
|
||||
<frame duration="1" hotspotX="0.5" hotspotY="0.5" />
|
||||
</animation>
|
||||
</animation-folder>
|
||||
</object-type>
|
||||
<object-type name="Layer" sid="822735679292648">
|
||||
<plugin id="Sprite" />
|
||||
<behaviors>
|
||||
<behavior-type name="Sine" sid="152768910804631">
|
||||
<behavior id="Sin" />
|
||||
</behavior-type>
|
||||
</behaviors>
|
||||
<animation-folder>
|
||||
<animation framecount="1" loop="0" name="Default" pingpong="0" repeatcount="1" repeatto="0" sid="794524614026990" speed="5">
|
||||
<frame duration="1" hotspotX="0.5" hotspotY="0.5" original-source="C:\Users\GIGABYTE\Downloads\UI nút (1)\Layer 7.png">
|
||||
<collision-poly>
|
||||
<point x="0.1375" y="0.146277" />
|
||||
<point x="0.5" y="0" />
|
||||
<point x="0.8625" y="0.146277" />
|
||||
<point x="0.9975" y="0.5" />
|
||||
<point x="0.865" y="0.856383" />
|
||||
<point x="0.5" y="1" />
|
||||
<point x="0.135" y="0.856383" />
|
||||
<point x="0" y="0.5" />
|
||||
</collision-poly>
|
||||
</frame>
|
||||
</animation>
|
||||
</animation-folder>
|
||||
</object-type>
|
||||
<object-type name="NewWordpng" sid="139959116973831">
|
||||
<plugin id="Sprite" />
|
||||
<behaviors>
|
||||
<behavior-type name="Anchor" sid="539593209741847">
|
||||
<behavior id="Anchor" />
|
||||
</behavior-type>
|
||||
</behaviors>
|
||||
<animation-folder>
|
||||
<animation framecount="1" loop="0" name="Default" pingpong="0" repeatcount="1" repeatto="0" sid="185281331107930" speed="5">
|
||||
<frame duration="1" hotspotX="0.5" hotspotY="0.501466" original-source="C:\Users\GIGABYTE\Desktop\UI\Logo Game\New word.png.png">
|
||||
<collision-poly>
|
||||
<point x="0.106" y="0.155425" />
|
||||
<point x="0.5" y="0.0615836" />
|
||||
<point x="0.648" y="0.516129" />
|
||||
<point x="0.792" y="0.498534" />
|
||||
<point x="0.966" y="0.950147" />
|
||||
<point x="0.5" y="0.973607" />
|
||||
<point x="0.038" y="0.944282" />
|
||||
<point x="0.218" y="0.498534" />
|
||||
</collision-poly>
|
||||
</frame>
|
||||
</animation>
|
||||
</animation-folder>
|
||||
</object-type>
|
||||
<object-type global="1" name="JSON" sid="262867654071762">
|
||||
<plugin id="JSON" />
|
||||
</object-type>
|
||||
<object-type name="IMG" sid="948012257438000">
|
||||
<plugin id="Sprite" />
|
||||
<animation-folder>
|
||||
<animation framecount="1" loop="0" name="Default" pingpong="0" repeatcount="1" repeatto="0" sid="562756187089019" speed="5">
|
||||
<frame duration="1" hotspotX="0.5" hotspotY="0.5" />
|
||||
</animation>
|
||||
</animation-folder>
|
||||
</object-type>
|
||||
</object-folder>
|
||||
<families>
|
||||
<family name="Family1" plugin-id="SpriteFontPlus" sid="154178255437462">
|
||||
<members>
|
||||
<member>txt_question</member>
|
||||
<member>txt_Slot</member>
|
||||
<member>txt_TextTimer</member>
|
||||
<member>txt_WordItem</member>
|
||||
</members>
|
||||
<behaviors>
|
||||
<behavior-type name="Pin" sid="693926857619114">
|
||||
<behavior id="Pin" />
|
||||
</behavior-type>
|
||||
</behaviors>
|
||||
</family>
|
||||
<family name="Family2" plugin-id="Sprite" sid="909098946188328">
|
||||
<members>
|
||||
<member>btn_music</member>
|
||||
<member>btn_Pause</member>
|
||||
<member>btn_setting</member>
|
||||
<member>Layer</member>
|
||||
</members>
|
||||
</family>
|
||||
</families>
|
||||
<layout-folder>
|
||||
<layout>Layout 1.xml</layout>
|
||||
</layout-folder>
|
||||
<event-folder>
|
||||
<event-sheet>Event sheet 1.xml</event-sheet>
|
||||
<event-sheet>DrapDrop.xml</event-sheet>
|
||||
<event-sheet>move.xml</event-sheet>
|
||||
</event-folder>
|
||||
<global-instances>
|
||||
<global-instance type="SenaAI" uid="0">
|
||||
<properties>
|
||||
<campaign-id>G2810S1T30</campaign-id>
|
||||
</properties>
|
||||
</global-instance>
|
||||
<global-instance type="Browser" uid="1" />
|
||||
<global-instance type="Touch" uid="4">
|
||||
<properties>
|
||||
<use-mouse-input>Yes</use-mouse-input>
|
||||
</properties>
|
||||
</global-instance>
|
||||
<global-instance type="Function" uid="9" />
|
||||
<global-instance type="Audio" uid="16">
|
||||
<properties>
|
||||
<timescale-audio>Off</timescale-audio>
|
||||
<saveload>All</saveload>
|
||||
<play-in-background>No</play-in-background>
|
||||
<positioned-audio></positioned-audio>
|
||||
<panning-model>HRTF</panning-model>
|
||||
<distance-model>Inverse</distance-model>
|
||||
<listener-z-height>600</listener-z-height>
|
||||
<reference-distance>600</reference-distance>
|
||||
<maximum-distance>10000</maximum-distance>
|
||||
<roll-off-factor>1</roll-off-factor>
|
||||
</properties>
|
||||
</global-instance>
|
||||
</global-instances>
|
||||
<sounds-folder>
|
||||
<file name="click.ogg" />
|
||||
<file name="correct.ogg" />
|
||||
<file name="error-010-206498.ogg" />
|
||||
<file name="immersivecontrol-button-click-sound-463065.ogg" />
|
||||
</sounds-folder>
|
||||
<music-folder />
|
||||
<files-folder>
|
||||
<file-folder name="Icons">
|
||||
<file name="icon-16.png" />
|
||||
<file name="icon-32.png" />
|
||||
<file name="icon-114.png" />
|
||||
<file name="icon-128.png" />
|
||||
<file name="icon-256.png" />
|
||||
<file name="loading-logo.png" />
|
||||
</file-folder>
|
||||
<file name="tdv_sdk.js" />
|
||||
</files-folder>
|
||||
</c2project>
|
||||
@@ -0,0 +1,52 @@
|
||||
<?xml version="1.0" encoding="utf-8" ?>
|
||||
<c2uistate>
|
||||
<!--This is a UI state file - its content describes the user interface settings when the project was last open.
|
||||
It is entirely optional and the project will load without it. If you are placing the project under source control,
|
||||
you probably do not want to add any .uistate.xml files to the repository.-->
|
||||
<configurations>
|
||||
<active>
|
||||
<configuration name="HTML5" />
|
||||
</active>
|
||||
<display name="HTML5" />
|
||||
</configurations>
|
||||
<open-tabs>
|
||||
<layout order="0">Layout 1</layout>
|
||||
<event-sheet order="2">DrapDrop</event-sheet>
|
||||
<event-sheet order="3">move</event-sheet>
|
||||
<event-sheet active="1" order="1">Event sheet 1</event-sheet>
|
||||
</open-tabs>
|
||||
<properties>
|
||||
<property expanded="1" name="About" />
|
||||
<property expanded="1" name="Project settings" />
|
||||
<property expanded="0" name="Window Size" />
|
||||
<property expanded="1" name="Configuration Settings" />
|
||||
</properties>
|
||||
<families-expanded root="1">
|
||||
<family expanded="1" name="Family1" />
|
||||
<family expanded="1" name="Family2" />
|
||||
</families-expanded>
|
||||
<folders-expanded>
|
||||
<folder expanded="1" path="object-folder/" />
|
||||
<folder expanded="1" path="layout-folder/" />
|
||||
<folder expanded="1" path="event-folder/" />
|
||||
<folder expanded="1" path="file-folder/" />
|
||||
<folder expanded="1" path="sound-folder/" />
|
||||
<folder expanded="1" path="music-folder/" />
|
||||
<folder expanded="1" path="file-folder/Icons/" />
|
||||
<folder expanded="1" path="animation-folder/btn_check/" />
|
||||
<folder expanded="1" path="animation-folder/pause/" />
|
||||
<folder expanded="1" path="animation-folder/resume/" />
|
||||
<folder expanded="1" path="animation-folder/Slot/" />
|
||||
<folder expanded="1" path="animation-folder/btn_WordItem/" />
|
||||
<folder expanded="1" path="animation-folder/SenaaiKhoi/" />
|
||||
<folder expanded="1" path="animation-folder/checker_wrong_correct/" />
|
||||
<folder expanded="1" path="animation-folder/btn_setting/" />
|
||||
<folder expanded="1" path="animation-folder/panel/" />
|
||||
<folder expanded="1" path="animation-folder/btn_Pause/" />
|
||||
<folder expanded="1" path="animation-folder/btn_music/" />
|
||||
<folder expanded="1" path="animation-folder/panel_pause/" />
|
||||
<folder expanded="1" path="animation-folder/Layer/" />
|
||||
<folder expanded="1" path="animation-folder/NewWordpng/" />
|
||||
<folder expanded="1" path="animation-folder/IMG/" />
|
||||
</folders-expanded>
|
||||
</c2uistate>
|
||||