品德项目需求解决方法

品德项目需求:

1、所有按钮均可拖动

2、拖动进入框中之后需要逐行显示所拖入按钮对应的实际内容

var flag = 0;
var pic_name;

var pic_x;
var pic_y;
		//只需要改数组"word",需要拖动图片命名为pic0-100,列表清单命名list,列表上的字命名为zi0-100;
var word:Array=["笔","笔记本","削笔刀","橡皮","酱油","食用油","食用盐","纸巾","牙刷","牙膏","水杯","大米","水果","饮料","奶制品","饼干","蔬菜"];

for(var k=0;k<word.length;k++)
{
	removeChild(this["zi"+k]);
}

function bird(e):void //将鼠标位置设置为图片位置,实现拖动功能
{	
	this[""+pic_name].x=mouseX;
	this[""+pic_name].y=mouseY;
}

for(var i=0;i<word.length;i++)
{
	this["pic"+i].addEventListener(MouseEvent.MOUSE_DOWN ,down1);
}
function down1(e):void{
	
for(var i=0;i<word.length;i++)
{	
	this["pic"+i].addEventListener(MouseEvent.MOUSE_MOVE ,bird);//为所有按钮添加鼠标移动监听事件
}

	pic_name=e.target.name;
 	trace("biaohao=="+pic_name.charAt(3)+pic_name.charAt(4));
	pic_x=this[""+pic_name].x;
	pic_y=this[""+pic_name].y;
}

for(var j=0;j<word.length;j++)
{	
	this["pic"+j].addEventListener(MouseEvent.MOUSE_UP,down2);
}
function down2(e):void
{
	trace("退出")
if(list.hitTestObject(this[""+pic_name]))//碰撞检测
{
	trace("contains");
	stage.addChild(this["zi"+flag]);
		
	this["zi"+flag].text=word[pic_name.charAt(3)+pic_name.charAt(4)];//获取图片属性名的第3和第4个位置的字符,正好是数组word的下标

	for(var i=0;i<word.length;i++)
{	
	this["pic"+i].removeEventListener(MouseEvent.MOUSE_MOVE,bird);
}
	this[""+pic_name].visible = false;
	flag++;
}
else{
	for(var j=0;j<word.length;j++)
{	
	this["pic"+j].removeEventListener(MouseEvent.MOUSE_MOVE,bird);
}

	this[""+pic_name].x=pic_x;
	this[""+pic_name].y=pic_y;	
}
}


猜你喜欢

转载自blog.csdn.net/qq_28779503/article/details/51880646