javascript - 如何根据 mouse_up 事件 AS3 上的动画剪辑 x 位置对动画剪辑数组进行排序
问题描述
我正在创建一个拖放游戏,这样电影剪辑图块的组合将决定答案。为了确定答案,我在ORDER中结合了影片剪辑名称和影片剪辑位置。
public function drop(event: MouseEvent) {
event.target.stopDrag();
flag = false;
trace(event.target.name);
tileDropped = event.target.name;
//When the tile is dropped at the supposed position, push target (tile) into picked_ans array
for (ix = 0; ix < targetArray.length; ix++) {
if (targetArray[ix].hitTestObject(event.target)) {
event.target.x = targetArray[ix].x;
event.target.y = targetArray[ix].y;
flag = true;
picked_ans.push(event.target); //add tile to picked_ans
}
} //for i
// Remove duplicates from picked array
if (picked_ans.length > 1)
for (var j = 0; j < picked_ans.length; j++){
if(tileDropped == picked_ans[j].name){
picked_ans.splice(j, 1);
picked_ans.push(event.target);
}
}
if (gameStats == 1){
//if gameStats == 1, there should be only one movieclip in the array
if (picked_ans.length > 0){
for (ix = 0; ix < picked_ans.length; ix++){
picked_ans.pop();
}
}
picked_ans.push(event.target);
}
for (ix = 0; ix < tileArray.length; ix++) {
if ((tileArray[ix].hitTestObject(event.target)) && (tileArray[ix] != event.target)) {
flag = false;
}
} //for i
if (!flag) {
event.target.x = event.target.original_posx;
event.target.y = event.target.original_posy;
}
} //drop
我想达到的最好的描述如下
if(picked_ans > 0){
dropped_tile_pos_x = picked_ans.length;
for(var i = 0; i < dropped_tile_pos_x; i++){
//Here is the problem
if(event.target.x > picked_ans[i].x){
//sort picked_ans array and insert current picked tile (event.target)
//to the proper index location
//something like
picked_ans[i + 1] = event.target;
}else{
picked_ans[i - 1] = event.target;
}
}
}
简而言之,每次放下瓷砖时,我如何对pick_ans数组进行排序?
我看到了这样的东西
myArray = [name: "tilename", posx:"234"]
如果有人可以告诉我如何在循环中创建这样的数组而不是像上面那样硬编码它,这对我来说将是一种更容易使用 posx 属性对数组进行排序的方法。谢谢
解决方案
推荐阅读
- node.js - 同一个客户端可以同时向同一路由发出 2 个或多个请求吗
- multithreading - CUDA 相当于 pragma omp 任务
- flutter - 错误:Facebook 身份验证对此用户无效。使用 Back4App 进行颤振
- python - 在 KivyMD Python 中将数据存储在 JSON 文件中时出错
- python-3.x - 寻找N维等边三角形的第三个顶点
- griddb - 刚在 GridDB 的表中添加 myName 时找不到 myName
- r - 从对象中提取特定字符串
- angular - 使用 Input() 的组件之间的角度传递数据不会触发 ngOnChanges
- java - 如何将规则脚本注入 java.sql.Statement.executeQuery(String)?
- android - 安卓。画布吹动画