在flash中使用分组拖放匹配类型的游戏
很抱歉在我的程序中出现误解,我是新来的,而且我也不熟悉使用flash。下面是我在代码中使用的示例输出 !![样本输出](http://i1114.photobucket.com/albums/k532/deadmaster2903/sample.jpg)在flash中使用分组拖放匹配类型的游戏,flash,actionscript-3,actionscript,flash-cs5,Flash,Actionscript 3,Actionscript,Flash Cs5,很抱歉在我的程序中出现误解,我是新来的,而且我也不熟悉使用flash。下面是我在代码中使用的示例输出 !![样本输出](http://i1114.photobucket.com/albums/k532/deadmaster2903/sample.jpg) 下面是我使用的代码: var objectoriginalX:Number; var objectoriginalY:Number; var score:Number = 0; var count:Number = 30; var
下面是我使用的代码:
var objectoriginalX:Number;
var objectoriginalY:Number;
var score:Number = 0;
var count:Number = 30;
var myTimer:Timer = new Timer(1000,count);
myTimer.addEventListener(TimerEvent.TIMER, countdown);
myTimer.start();
if (myText_txt.text == "0")
{
myText_txt.text ="Times Up!";
}
function countdown(event:TimerEvent):void
{
myText_txt.text = String((count)-myTimer.currentCount);
}
//fall
fallapple_mc.buttonMode = true;
fallapple_mc.addEventListener(MouseEvent.MOUSE_DOWN, pickupObject);
fallapple_mc.addEventListener(MouseEvent.MOUSE_UP, dropObject);
fallchicory_mc.buttonMode = true;
fallchicory_mc.addEventListener(MouseEvent.MOUSE_DOWN, pickupObject);
fallchicory_mc.addEventListener(MouseEvent.MOUSE_UP, dropObject);
fallchilipeppers_mc.buttonMode = true;
fallchilipeppers_mc.addEventListener(MouseEvent.MOUSE_DOWN, pickupObject);
fallchilipeppers_mc.addEventListener(MouseEvent.MOUSE_UP, dropObject);
fallchinesecabbage_mc.buttonMode = true;
fallchinesecabbage_mc.addEventListener(MouseEvent.MOUSE_DOWN, pickupObject);
fallchinesecabbage_mc.addEventListener(MouseEvent.MOUSE_UP, dropObject);
fallcranberries_mc.buttonMode = true;
fallcranberries_mc.addEventListener(MouseEvent.MOUSE_DOWN, pickupObject);
fallcranberries_mc.addEventListener(MouseEvent.MOUSE_UP, dropObject);
fallcucumber_mc.buttonMode = true;
fallcucumber_mc.addEventListener(MouseEvent.MOUSE_DOWN, pickupObject);
fallcucumber_mc.addEventListener(MouseEvent.MOUSE_UP, dropObject);
falldates_mc.buttonMode = true;
falldates_mc.addEventListener(MouseEvent.MOUSE_DOWN, pickupObject);
falldates_mc.addEventListener(MouseEvent.MOUSE_UP, dropObject);
fallgrapes_mc.buttonMode = true;
fallgrapes_mc.addEventListener(MouseEvent.MOUSE_DOWN, pickupObject);
fallgrapes_mc.addEventListener(MouseEvent.MOUSE_UP, dropObject);
fallleaflettuce_mc.buttonMode = true;
fallleaflettuce_mc.addEventListener(MouseEvent.MOUSE_DOWN, pickupObject);
fallleaflettuce_mc.addEventListener(MouseEvent.MOUSE_UP, dropObject);
fallnuts_mc.buttonMode = true;
fallnuts_mc.addEventListener(MouseEvent.MOUSE_DOWN, pickupObject);
fallnuts_mc.addEventListener(MouseEvent.MOUSE_UP, dropObject);
fallpersimmon_mc.buttonMode = true;
fallpersimmon_mc.addEventListener(MouseEvent.MOUSE_DOWN, pickupObject);
fallpersimmon_mc.addEventListener(MouseEvent.MOUSE_UP, dropObject);
fallpomegranates_mc.buttonMode = true;
fallpomegranates_mc.addEventListener(MouseEvent.MOUSE_DOWN, pickupObject);
fallpomegranates_mc.addEventListener(MouseEvent.MOUSE_UP, dropObject);
//spring
springasparagus_mc.buttonMode = true;
springasparagus_mc.addEventListener(MouseEvent.MOUSE_DOWN, pickupObject);
springasparagus_mc.addEventListener(MouseEvent.MOUSE_UP, dropObject);
springbasil_mc.buttonMode = true;
springbasil_mc.addEventListener(MouseEvent.MOUSE_DOWN, pickupObject);
springbasil_mc.addEventListener(MouseEvent.MOUSE_UP, dropObject);
springbeans_mc.buttonMode = true;
springbeans_mc.addEventListener(MouseEvent.MOUSE_DOWN, pickupObject);
springbeans_mc.addEventListener(MouseEvent.MOUSE_UP, dropObject);
springbeets_mc.buttonMode = true;
springbeets_mc.addEventListener(MouseEvent.MOUSE_DOWN, pickupObject);
springbeets_mc.addEventListener(MouseEvent.MOUSE_UP, dropObject);
springberries_mc.buttonMode = true;
springberries_mc.addEventListener(MouseEvent.MOUSE_DOWN, pickupObject);
springberries_mc.addEventListener(MouseEvent.MOUSE_UP, dropObject);
springiceberg_mc.buttonMode = true;
springiceberg_mc.addEventListener(MouseEvent.MOUSE_DOWN, pickupObject);
springiceberg_mc.addEventListener(MouseEvent.MOUSE_UP, dropObject);
springmango_mc.buttonMode = true;
springmango_mc.addEventListener(MouseEvent.MOUSE_DOWN, pickupObject);
springmango_mc.addEventListener(MouseEvent.MOUSE_UP, dropObject);
springpapaya_mc.buttonMode = true;
springpapaya_mc.addEventListener(MouseEvent.MOUSE_DOWN, pickupObject);
springpapaya_mc.addEventListener(MouseEvent.MOUSE_UP, dropObject);
springpeas_mc.buttonMode = true;
springpeas_mc.addEventListener(MouseEvent.MOUSE_DOWN, pickupObject);
springpeas_mc.addEventListener(MouseEvent.MOUSE_UP, dropObject);
springradish_mc.buttonMode = true;
springradish_mc.addEventListener(MouseEvent.MOUSE_DOWN, pickupObject);
springradish_mc.addEventListener(MouseEvent.MOUSE_UP, dropObject);
springrhubarb_mc.buttonMode = true;
springrhubarb_mc.addEventListener(MouseEvent.MOUSE_DOWN, pickupObject);
springrhubarb_mc.addEventListener(MouseEvent.MOUSE_UP, dropObject);
springshallots_mc.buttonMode = true;
springshallots_mc.addEventListener(MouseEvent.MOUSE_DOWN, pickupObject);
springshallots_mc.addEventListener(MouseEvent.MOUSE_UP, dropObject);
//summer
summerapricot_mc.buttonMode = true;
summerapricot_mc.addEventListener(MouseEvent.MOUSE_DOWN, pickupObject);
summerapricot_mc.addEventListener(MouseEvent.MOUSE_UP, dropObject);
summerbellpepper_mc.buttonMode = true;
summerbellpepper_mc.addEventListener(MouseEvent.MOUSE_DOWN, pickupObject);
summerbellpepper_mc.addEventListener(MouseEvent.MOUSE_UP, dropObject);
summerbrocolli_mc.buttonMode = true;
summerbrocolli_mc.addEventListener(MouseEvent.MOUSE_DOWN, pickupObject);
summerbrocolli_mc.addEventListener(MouseEvent.MOUSE_UP, dropObject);
summercherries_mc.buttonMode = true;
summercherries_mc.addEventListener(MouseEvent.MOUSE_DOWN, pickupObject);
summercherries_mc.addEventListener(MouseEvent.MOUSE_UP, dropObject);
summercorn_mc.buttonMode = true;
summercorn_mc.addEventListener(MouseEvent.MOUSE_DOWN, pickupObject);
summercorn_mc.addEventListener(MouseEvent.MOUSE_UP, dropObject);
summerfigs_mc.buttonMode = true;
summerfigs_mc.addEventListener(MouseEvent.MOUSE_DOWN, pickupObject);
summerfigs_mc.addEventListener(MouseEvent.MOUSE_UP, dropObject);
summerokra_mc.buttonMode = true;
summerokra_mc.addEventListener(MouseEvent.MOUSE_DOWN, pickupObject);
summerokra_mc.addEventListener(MouseEvent.MOUSE_UP, dropObject);
summerpeaches_mc.buttonMode = true;
summerpeaches_mc.addEventListener(MouseEvent.MOUSE_DOWN, pickupObject);
summerpeaches_mc.addEventListener(MouseEvent.MOUSE_UP, dropObject);
summerplum_mc.buttonMode = true;
summerplum_mc.addEventListener(MouseEvent.MOUSE_DOWN, pickupObject);
summerplum_mc.addEventListener(MouseEvent.MOUSE_UP, dropObject);
summersquash_mc.buttonMode = true;
summersquash_mc.addEventListener(MouseEvent.MOUSE_DOWN, pickupObject);
summersquash_mc.addEventListener(MouseEvent.MOUSE_UP, dropObject);
summertomato_mc.buttonMode = true;
summertomato_mc.addEventListener(MouseEvent.MOUSE_DOWN, pickupObject);
summertomato_mc.addEventListener(MouseEvent.MOUSE_UP, dropObject);
summerwatermelon_mc.buttonMode = true;
summerwatermelon_mc.addEventListener(MouseEvent.MOUSE_DOWN, pickupObject);
summerwatermelon_mc.addEventListener(MouseEvent.MOUSE_UP, dropObject);
//winter
winteravocado_mc.buttonMode = true;
winteravocado_mc.addEventListener(MouseEvent.MOUSE_DOWN, pickupObject);
winteravocado_mc.addEventListener(MouseEvent.MOUSE_UP, dropObject);
winterbrusselsprouts_mc.buttonMode = true;
winterbrusselsprouts_mc.addEventListener(MouseEvent.MOUSE_DOWN, pickupObject);
winterbrusselsprouts_mc.addEventListener(MouseEvent.MOUSE_UP, dropObject);
wintercabbage_mc.buttonMode = true;
wintercabbage_mc.addEventListener(MouseEvent.MOUSE_DOWN, pickupObject);
wintercabbage_mc.addEventListener(MouseEvent.MOUSE_UP, dropObject);
wintercauliflower_mc.buttonMode = true;
wintercauliflower_mc.addEventListener(MouseEvent.MOUSE_DOWN, pickupObject);
wintercauliflower_mc.addEventListener(MouseEvent.MOUSE_UP, dropObject);
winterceleryroots_mc.buttonMode = true;
winterceleryroots_mc.addEventListener(MouseEvent.MOUSE_DOWN, pickupObject);
winterceleryroots_mc.addEventListener(MouseEvent.MOUSE_UP, dropObject);
winterfennel_mc.buttonMode = true;
winterfennel_mc.addEventListener(MouseEvent.MOUSE_DOWN, pickupObject);
winterfennel_mc.addEventListener(MouseEvent.MOUSE_UP, dropObject);
wintergrapefruit_mc.buttonMode = true;
wintergrapefruit_mc.addEventListener(MouseEvent.MOUSE_DOWN, pickupObject);
wintergrapefruit_mc.addEventListener(MouseEvent.MOUSE_UP, dropObject);
wintermandarin_mc.buttonMode = true;
wintermandarin_mc.addEventListener(MouseEvent.MOUSE_DOWN, pickupObject);
wintermandarin_mc.addEventListener(MouseEvent.MOUSE_UP, dropObject);
wintermushrooms_mc.buttonMode = true;
wintermushrooms_mc.addEventListener(MouseEvent.MOUSE_DOWN, pickupObject);
wintermushrooms_mc.addEventListener(MouseEvent.MOUSE_UP, dropObject);
winterpears_mc.buttonMode = true;
winterpears_mc.addEventListener(MouseEvent.MOUSE_DOWN, pickupObject);
winterpears_mc.addEventListener(MouseEvent.MOUSE_UP, dropObject);
winterspinach_mc.buttonMode = true;
winterspinach_mc.addEventListener(MouseEvent.MOUSE_DOWN, pickupObject);
winterspinach_mc.addEventListener(MouseEvent.MOUSE_UP, dropObject);
wintersquash_mc.buttonMode = true;
wintersquash_mc.addEventListener(MouseEvent.MOUSE_DOWN, pickupObject);
wintersquash_mc.addEventListener(MouseEvent.MOUSE_UP, dropObject);
function pickupObject(event:MouseEvent):void
{
event.target.startDrag(true);
event.target.parent.addChild(event.target);
objectoriginalX = event.target.x;
objectoriginalY = event.target.y;
response_txt.text = " ";
}
function dropObject(event:MouseEvent):void
{
event.target.stopDrag();
var matchingTargetName:String = "target" + event.target.name;
var matchingTarget:DisplayObject = getChildByName(matchingTargetName);
if (event.target.dropTarget != null && event.target.dropTarget.parent == matchingTarget)
{
event.target.removeEventListener(MouseEvent.MOUSE_DOWN, pickupObject);
event.target.removeEventListener(MouseEvent.MOUSE_UP, dropObject);
event.target.buttonMode = false;
event.target.x = matchingTarget.x;
event.target.y = matchingTarget.y;
response_txt.text = "You did it!";
score++;
scoreField.text = String(score);
}
else
{
event.target.x = objectoriginalX;
event.target.y = objectoriginalY;
response_txt.text = "Try again";
}
};
因此,从我之前所说的,如果你能看到灰色的盒子,并以它们指定的类型命名,那就是我之前提到的狗/猫盒子。上面的图片就是我正在谈论的类型
所以问题是,正如你在图片中看到的,菊苣蔬菜被放在第二个盒子的秋天(它所属的地方)下面,从我看到的代码参考来看,它们是这样做的 对象作为项仅等于1容器作为框 我一直在寻找方法,让1个图像如果拖放到指定的组类型,它将是正确的(即使你把它放在第一个框,图像将自动在第二个框,如果该组是真的) 另外,我注意到我的计时器不工作,说明答案是对还是错的文本会产生错误或不完整的输出。如果你看到它,那就是我所指的,应该是你做的
感谢那些愿意回答的人。我仍在寻找解决方案,但我似乎找不到与我遇到的问题相同的问题回答这个问题非常困难,因为您没有向我们展示任何代码,因此我将用我认为正确的概念来回答 如果我没弄错的话,你有一个概念层次,首先是狗,然后是金毛寻回犬和拉布拉多犬,猫也是如此。你需要组织你的代码或图形,让拉布拉多犬和金毛寻回犬成为“儿子”对于狗,这样就很容易验证它们是否是狗。你可以通过层次结构(超类和子类)或使拉布拉多框成为狗框的子框来实现这一点,也就是说,拉布拉多框的父对象将指向狗框 如果您需要更好的答案,您必须详细说明您的问题,或者向我们展示一些代码,或者您的.fla是如何组织的,以及您是如何验证的。好的 以下是我认为您想要的: 让一个水果进入“秋天”组,但不管你把它放在什么灰色的盒子里(在“秋天”里面),让那个特定的水果总是掉到盒子2(第一排的第二个盒子) 下面是如何尝试这样做(这些是代码片段): 现在设置了所需的数据,您必须稍微更改dropObject函数(以及其他一些事情,稍后将详细介绍): 先决条件: 1) 如果您不将Fall group movieclip的实例名称更改为“targetFall”,则上述更改将失败 2) 上面的将失败如果内部的movieclip'targetFall'您没有使框(movieclips)上有实例名。这些框需要有“box1”、“box2”、“box3”等实例名才能使此代码正常工作 这应该会给你一些基本的东西,让你开始玩弄……预计这段代码会失败,我是盲目编程的,但它接近于它的样子,所以跟踪变量及其值或调试,直到你让它工作为止
如果你被卡住了,请在这个答案的评论中随时寻求澄清/帮助…我几乎什么都不懂。确切的技术问题是什么?如果让人困惑,很抱歉。我不知道如何称呼这个问题,所以我定义了它。但我认为我游戏中的问题是,每次你将一个对象拖动到一个组中的一个框中,即使答案是正确的,程序认为它是错误的。我注意到一个对象必须拖到特定的框中。示例:apple对象必须拖到applebox,仅此而已。但这不是我想要的。我尝试搜索答案,但大多数示例显示“一个对象一个框”就像我现在正在使用的那篇文章一样。你写的文章越大,你得到的答案就越少。除非是代码,否则优秀的程序员可以在那里为你找到小错误,甚至在数百行中(我们知道去哪里寻找)。我没有时间/意志力来解读你的文章。这样做,你会在30分钟内得到答案:制作2个图形,第一个包含可拖动和拖动的组以及正确和错误操作所需的任何其他信息(如何决定哪个是哪个)。第二个应该包含如何猜测对与错的清晰示例(如果需要,可能还有一个小的“为什么”)。Cheers我忘了提到将图像发布到图像托管服务(谷歌“图像托管”,例如imageshack)然后在这里编辑你的答案并添加这些东西。这篇文章加上图形应该会让你成为一个asnwer…我还不熟悉插入图像,但我插入的链接是我代码的图像输出,希望能有所帮助。谢谢siri发布了我程序的代码,希望你仍然能帮助我
fallapple_mc.buttonMode = true;
fallapple_mc.addEventListener(MouseEvent.MOUSE_DOWN, pickupObject);
fallapple_mc.addEventListener(MouseEvent.MOUSE_UP, dropObject);
fallapple_mc.droppedGroupName = "Fall"; //I can't use the fallapple_mc.name, since it's "fallapple_mc", not the group name that I want so I have to input the required value manually into this variable
fallapple_mc.droppedBoxIndex = 2; // here I manually input the correct box index for the group
function dropObject(event:MouseEvent):void
{
event.target.stopDrag();
//CHANGES BELLOW
//var matchingTargetName:String = "target" + event.target.name;
var matchingTargetName:String = "target" + event.target["droppedGroupName"]; //dynamic access to a variable (the []s) to stop the compiler from being annoying for you...
var matchingTarget:DisplayObject = getChildByName(matchingTargetName);
if (event.target.dropTarget != null && event.target.dropTarget.parent == matchingTarget)
{
event.target.removeEventListener(MouseEvent.MOUSE_DOWN, pickupObject);
event.target.removeEventListener(MouseEvent.MOUSE_UP, dropObject);
event.target.buttonMode = false;
//CHANGES BELLOW
//event.target.x = matchingTarget.x;
//event.target.y = matchingTarget.y;
event.target.x = matchingTarget.getChildByName("box"+event.target["droppedBoxIndex"]).x; //Here getChild returned the *correct box* so i use it's x and y to position it (might be off a little)!
event.target.y = matchingTarget.getChildByName("box"+event.target["droppedBoxIndex"]).y;
response_txt.text = "You did it!";
score++;
scoreField.text = String(score);
}
else
{
event.target.x = objectoriginalX;
event.target.y = objectoriginalY;
response_txt.text = "Try again";
}
};