首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >AS2清单脚本

AS2清单脚本
EN

Stack Overflow用户
提问于 2014-12-21 18:57:55
回答 1查看 188关注 0票数 0

我正在尝试修改下面的脚本,让它自动删除"_item“的第一个实例,并将其捕捉到最近的”插槽“。

这段代码运行得很好,只是我找不到一种方法让它在用户不先点击它的情况下就把它放下来。这不是我的脚本。你可以在这里看到它的实际效果- http://www.freeactionscript.com/2008/11/drag-drop-snap-inventory-system-v2/

非常感谢您的帮助,谢谢!

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
/**
* Drag, Drop and Snap Inventory System
*
* Version:  2.0
* Author:   Philip Radvan
* URL:      http://www.freeactionscript.com
*/

var slots_array:Array = new Array(slot0, slot1, slot2, slot3, slot4, slot5, slot6, slot7, slot8, slot9, slot10, slot11, slot12, slot13, slot14, slot15);
var items_array:Array;
var uniqueItemId:Number = 0;
//

//start dragging
function dragItem(_item:Object):Void
{
    //save position before dragging
    _item.nowX = _item._x;
    _item.nowY = _item._y;

    //drag
    _item.startDrag(true);
    _item.onMouseMove = updateDrag;
}
//stop dragging
function dropItem(_item:Object):Void
{
    //stop dragging
    _item.stopDrag();

    //delete mouse event
    delete _item.onMouseMove;

    //run loop on slots array
    for (i=0; i<slots_array.length; i++)
    {
        //set temp slot var
        currentSlot = eval(slots_array[i]);     

        //check slot hittest and slot itemID; if item is over slot and slot is empty, drop
        if ((eval(_item._droptarget) == currentSlot) && (currentSlot.itemID == "empty"))
        {
            //place item in slot
            _item._x = currentSlot._x;
            _item._y = currentSlot._y;

            //update current slot itemID            
            currentSlot.itemID = this;

            //update previous slot itemID
            temp = eval(_item.slotID);
            temp.itemID = "empty";

            //update current item slotID
            _item.slotID = currentSlot.myName;

            //item moved, end loop
            return;
        }
        else
        {
            //return item to previous position if: item is NOT over slot or slot is NOT empty
            _item._x = _item.nowX;
            _item._y = _item.nowY;
        }
    }
}

/*
* updateAfterEven re-renders the screen
*/
function updateDrag():Void
{
    updateAfterEvent();
}

/*
* Create Slots
*/
for (i=0; i<slots_array.length; i++)
{
    var _currentSlot = slots_array[i];
    _currentSlot.itemID = "empty";
    _currentSlot.num = i;
    _currentSlot.myName = "slot"+i;
}


/*
* Create Item
*/
function createInventoryItem()
{
    //attach item to stage
    var _item = attachMovie("item", "item"+uniqueItemId, _root.getNextHighestDepth());

    //set item position
    _item._x = 280;
    _item._y = 320;

    //set item settings
    _item.myName = "item"+uniqueItemId;
    _item.slotID = "empty";

    //make item a button
    _item.onPress = function()
    {
        dragItem(this)
    }
    _item.onRelease = _item.onReleaseOutside = function()
    {
        dropItem(this);
    }

    //add item to array
    items_array.push(_item);

    //update unique Item Id
    uniqueItemId++;
}

//button to create a new inventory item
create_item_btn.onRelease = function()
{
    createInventoryItem();
}
EN

回答 1

Stack Overflow用户

发布于 2014-12-22 15:29:56

修好了。我没有修改这个,而是写了我自己的。感谢所有人:)

通过将命中测试代码放在影片剪辑"_item“本身上,一个小的数组循环在剪辑事件加载时对其位置进行排序,并将其捕捉到槽中。超级简单。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/27592662

复制
相关文章
【数据库报错(未删除任何行,未更新任何行)】
首先查看定义的表格数据类型有无问题,点击表格编辑前100行 如何更改编辑行数:更改编辑行数 这里的允许NULL值为通过输入端输入后,写进数据库是否包含空值 例如,输入端通过注册输入注册名后,若允许NULL值未勾选,则写进表格的为用户名+数据类型除了用户名所占字节剩余用空格进行填充(写入表格中的数据为用户名+若干空格) 若允许NULL值勾选了,则写进表格的即为刚刚进行注册的用户名,其后没有多余空格
magize
2023/07/11
3810
【数据库报错(未删除任何行,未更新任何行)】
获取jqGrid中选择的行的数据
var id=$(‘#gridTable’).jqGrid(‘getGridParam’,'selrow’);
ydymz
2018/09/10
2.5K0
[MySQL] mysql 的行级显式锁定和悲观锁
隐式和显式锁定: 1.innodb是两阶段锁定协议,隐式锁定比如在事务的执行过程中.会进行锁定,锁只有在commit或rollback的时候,才会同时被释放 2.特定的语句进行显式锁定 select ... lock in share mode ; select ... for update,where条件里面的必须是主键,否则会锁整张表 3.需要用在事务中使用,并且两个查询都需要for update才能阻塞住另一个去读,也就是实现写锁,阻塞别的读锁,悲观排他的目的 4.如果不想开启事务,就把autocommit关掉,这样默认就是开启事务了,每次都要commit才行
唯一Chat
2019/09/10
1.2K0
[MySQL] mysql 的行级显式锁定和悲观锁
MySQL SQL更新锁定
版权声明:本文为博主原创文章,欢迎扩散,扩散请务必注明出处。
Leshami
2018/12/19
2.5K0
SQL"已更新或者删除的行值要么不能使该行成为唯一行,要么改变了多个行(X行)“解决办法
  这种问题大多是由于没有主键(PK)导致同一张表中存在若干条相同的数据。DBMS存储时,只为其存储一条数据,因为DBMS底层做了优化,以减少数据冗余。所以删除或更新一条重复数据就牵一发而动全身。
孙晨c
2019/09/10
3.6K0
SQL"已更新或者删除的行值要么不能使该行成为唯一行,要么改变了多个行(X行)“解决办法
css选择器选择奇数行或偶数行
:nth-child(n) 选择器匹配属于其父元素的第 N 个子元素,不论元素的类型。
蓓蕾心晴
2022/12/06
2.4K0
MySQL的行转列
所谓的行转列操作,就是将一个表的行信息转化为列信息,说着可能比较笼统,这里先举个例子,如下:
AsiaYe
2019/11/06
13.2K0
Python-科学计算-pandas-11-df获取特定行或者列
系统:Windows 7 语言版本:Anaconda3-4.3.0.1-Windows-x86_64 编辑器:pycharm-community-2016.3.2 pandas:0.19.2
zishendianxia
2020/06/16
2.1K0
mysql行转列
目录 1 mysql行转列 1 mysql行转列 SELECT t.shsexssjhylydm ,count( 1 ) count FROM ( select REGEXP_SUBSTR(SHSEXSSJHYLYDM, '[^,]+', 1, L) AS SHSEXSSJHYLYDM,shsexsbh from TB_YW_SHSEXS_XS xs, (SELECT LEVEL L FROM DUAL CONNECT BY LEVEL <= 1000) WHERE L(+)
一写代码就开心
2022/05/27
3.2K0
SQL 获取纯数值的行
在 MySQL 库中有个 mix 表,它有一个列叫作 v,该列存储了文本和纯数值的内容。部分数据如下:
白日梦想家
2020/11/26
1.6K0
mysql行转列简单例子_mysql行转列、列转行示例[通俗易懂]
最近在开发过程中遇到问题,需要将数据库中一张表信息进行行转列操作,再将每列(即每个字段)作为与其他表进行联表查询的字段进行显示。
全栈程序员站长
2022/07/01
4.8K0
mysql行转列简单例子_mysql行转列、列转行示例[通俗易懂]
mysql行转列转换
sql 脚本 -- 创建表 学生表 CREATE TABLE `student` ( `stuid` VARCHAR(16) NOT NULL COMMENT '学号', `stunm` VARCHAR(20) NOT NULL COMMENT '学生姓名', PRIMARY KEY (`stuid`) ) COLLATE='utf8_general_ci' ENGINE=InnoDB; -- 课程表 CREATE TABLE `courses` ( `cours
皇上得了花柳病
2020/05/04
2K0
Mysql行级锁
锁是计算机协调多个进程或纯线程并发访问某一资源的机制. 在mysql中更是用处多多, 今天就一起看下mysql中的行级锁. 它主要包括行锁, 间隙锁, 临键锁三种. 首先我们先了解几个基础概念.
一个架构师
2022/06/27
3.3K0
Mysql行级锁
【MySQL】InnoDB行格式
首先明确在 innodb 引擎中数据是以页为基本单位读取的,而一个页中又包含多个行数据,那么对应地就会有不同的行格式来存储数据,innodb 中的行格式有四种:compact、redundant、dynamic、compressed。redundant 是 5.0 之前用的行格式,这里就不记录了。
玛卡bug卡
2022/12/18
1.6K0
【MySQL】InnoDB行格式
Mysql 行转列 + json
发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/137507.html原文链接:https://javaforall.cn
全栈程序员站长
2022/09/05
2.3K0
一行代码获取股票、基金数据,并绘制K线图
大家好,我是老表,今天这篇文章和大家分享一下如何利用Python获取股票、基金数据,并进行可视化,为金融分析&可视化先导篇。
老表
2022/10/31
1.5K0
一行代码获取股票、基金数据,并绘制K线图
mysql行转列函数_mysql行转列,函数GROUP_CONCAT(expr)
SELECT id, product_name FROM `product` WHERE id < 5
全栈程序员站长
2022/08/23
3.1K0
mysql行转列函数_mysql行转列,函数GROUP_CONCAT(expr)
MySQL原理 - InnoDB引擎 - 行记录存储 - Compact 行格式
MySQL 服务器上负责对表中数据的读取和写入工作的部分是存储引擎,比如 InnoDB、MyISAM、Memory 等等,不同的存储引擎一般是由不同的人为实现不同的特性而开发的,目前OLTP业务的表如果是使用 MySQL 一般都会使用 InnoDB 引擎,这也是默认的表引擎。
干货满满张哈希
2021/04/12
1.3K0
MySQL原理 - InnoDB引擎 - 行记录存储 - Compact 行格式
MySQL原理 - InnoDB引擎 - 行记录存储 - Redundant行格式
在上一篇:MySQL原理 - InnoDB引擎 - 行记录存储 - Compact格式 中,我们介绍了什么是 InnoDB 行记录存储以及 Compact 行格式,在这一篇中,我们继续介绍其他三种行格式。
干货满满张哈希
2021/04/12
6540
MySQL原理 - InnoDB引擎 - 行记录存储 - Redundant行格式
MySQL行锁的最佳实践
行锁就是针对数据表中行记录的锁。事务A更新了一行,而这时候事务B也要更新同一行,须等事务A操作完成后才能更新。
JavaEdge
2022/11/30
1.6K0

相似问题

只选择未锁定的行mysql

46

是否选择行并更新相同的行以进行锁定?

21

选择并锁定一行,然后更新

31

MySQL行锁定和更新

12

mysql -更新时锁定行

21
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文