====================================================================
COPY AND PASTE BELOW CODE IN ACTION LAYER FRAME 1
=====================================================================
addEventListener(Event.ENTER_FRAME, hitTest);
function hitTest(event:Event):void {
if (mCircle.hitTestPoint(mouseX, mouseY, true)) {
hitText1.text="hitTestPoint- True";
}
else {
hitText1.text="hitTestPoint- False";
}
mRectangle.x=mouseX;
mRectangle.y=mouseY;
if (mCircle.hitTestObject(mRectangle)) {
hitText2.text="hitTestObject- True";
}
else {
hitText2.text="hitTestObject- False";
}
}
=====================================================================
HIT TEST EXAPLES
-------------------------------------------------------------------------------------------------------------------
1. create movieclip with instance name of 'star'.
2. create movieclip with instance name of 'circle'.
3. create one dynamic text box with the instance name of 'messageText'.
code : -
// move star with mouse
addEventListener(Event.ENTER_FRAME, test_fun1);
function test_fun1(event:Event):void {
star.x=mouseX;
star.y=mouseY;
// test star versus circle
if (star.hitTestObject(circle)) {
messageText.text="collide";
} else {
messageText.text="Not collide";
}
}
===============================================================
ballYellow.addEventListener(MouseEvent.MOUSE_DOWN, grabMe);
ballYellow.buttonMode = true;
ballGreen.addEventListener(MouseEvent.MOUSE_DOWN, grabMe);
ballGreen.buttonMode = true;
var me:Object;
function grabMe(e:MouseEvent):void{
me = e.currentTarget;
me.removeEventListener(MouseEvent.MOUSE_DOWN, grabMe);
me.startDrag();
stage.addEventListener(MouseEvent.MOUSE_MOVE, dragMe);
stage.addEventListener(MouseEvent.MOUSE_UP, dropMe);
}
function dropMe(e:MouseEvent):void {
stage.removeEventListener(MouseEvent.MOUSE_UP, dropMe);
stage.removeEventListener(MouseEvent.MOUSE_MOVE, dragMe);
me.stopDrag();
me.addEventListener(MouseEvent.MOUSE_DOWN, grabMe);
}
function dragMe(e:MouseEvent):void {
e.updateAfterEvent();
}
===========================================================
flash-cs3-drag-and-drop-matching-3.html | 16-Dec-2011 14:50 | 2.2K | ||
flash-cs3-drag-and-drop-matching-3.swf | 16-Dec-2011 14:50 | 80K | ||
flash-cs3-drag-and-drop-matching.as |
FIND THIS WORD: var target = obj.dropTarget;
==============================================================
/ Daniel K. Schneider - TECFA - sept 2007 // Copyright: See http://edutechwiki.unige.ch/en/ var dict = new Dictionary (); // =================== START USER Config ===================== // Insert as many "dict[text_box] = movie;" statements you like // Replace: text_box by the name of a matching dynamic text_box // movie by the name of movie instances users can move around. dict[box_c] = cat; dict[box_d] = dog; dict[box_r] = rocket; dict[box_b] = bat; dict[box_a] = apple; // Do NOT change/delete any other line. Also make sure to respect // the syntax, e.g. dont forget the ";" at the end of each line. // ===================== END USER Config ==================== // Sound // should I preload this somehow ? var request:URLRequest = new URLRequest("applause_3.mp3"); var applause:Sound = new Sound(); applause.load(request); var request2:URLRequest = new URLRequest("music.mp3"); var music:Sound = new Sound(); music.load(request2); var request3:URLRequest = new URLRequest("baby_laugh.mp3"); var laugh:Sound = new Sound(); laugh.load(request3); // Drag and match code var hits = 0; // counts succesful hits var max = 0; // used to compute dictionary length var ori_x; var ori_y; // For each item in the dictionary we add event listeners // "for each" will loop through the values ... not the keys for each (var item in dict) { item.addEventListener(MouseEvent.MOUSE_DOWN, mouseDownHandler); item.addEventListener(MouseEvent.MOUSE_UP, mouseUpHandler); max = max + 1; item.buttonMode = true; } // Define a mouse down handler (user is dragging) function mouseDownHandler(evt:MouseEvent):void { var object = evt.target; ori_x = object.x ori_y = object.y object.useHandCursor = true; object.startDrag(); } function mouseUpHandler(evt:MouseEvent):void { //stop all sounds SoundMixer.stopAll(); var obj = evt.target; // obj.dropTarget will give us the reference to the shape of // the object over which we dropped the circle. var target = obj.dropTarget; // If the target object exists the we ask the test_match function // to compare moved obj and target where it was dropped. if (target != null) { test_match(target, obj); } obj.stopDrag(); } function test_match(target,obj) { // test if the pairs match if (dict[target] == obj) { // we got a hit hits = hits+1; textField.text = "Yes ! You got one !"; applause.play(); // make the object transparent obj.alpha = 0.5; // kill its event listeners - object can't be moved anymore obj.removeEventListener(MouseEvent.MOUSE_DOWN, mouseDownHandler); obj.removeEventListener(MouseEvent.MOUSE_UP, mouseUpHandler); // Test if we are done if (hits == max) { textField.text = "Made it !!"; music.play(0,5); } } else { obj.x = ori_x; obj.y = ori_y; textField.text = "Missed :("; laugh.play(); } }
==============================================================
Here's the script I'm currently using:
var dict = new Dictionary ();
// =================== Edit =====================
dict[box_a] = cloudy;
dict[box_n] = artichoke;
dict[box_n] = artichoke;
// ===================== END ====================
var hits = 0; // counts succesful hits
var max = 0; // used to compute dictionary length
var max = 0; // used to compute dictionary length
// For each item in the dictionary we add event listeners
// "for each" will loop through the values ... not the keys
// "for each" will loop through the values ... not the keys
for each (var item in dict)
{
item.addEventListener(MouseEvent.MOUSE_DOWN, mouseDownHandler);
item.addEventListener(MouseEvent.MOUSE_UP, mouseUpHandler);
max = max + 1;
item.buttonMode = true; //needed for the hand cursor
}
{
item.addEventListener(MouseEvent.MOUSE_DOWN, mouseDownHandler);
item.addEventListener(MouseEvent.MOUSE_UP, mouseUpHandler);
max = max + 1;
item.buttonMode = true; //needed for the hand cursor
}
// Define a mouse down handler (user is dragging)
function mouseDownHandler(evt:MouseEvent):void {
var object = evt.target;
// we should limit dragging to the area inside the canvas
object.useHandCursor = true;
object.startDrag();
}
function mouseUpHandler(evt:MouseEvent):void {
var obj = evt.target;
// obj.dropTarget will give us the reference to the shape of
// the object over which we dropped the circle.
var target = obj.dropTarget;
// If the target object exists the we ask the test_match function
// to compare moved obj and target where it was dropped.
if (target != null)
{
test_match(target, obj);
}
obj.stopDrag();
}
var obj = evt.target;
// obj.dropTarget will give us the reference to the shape of
// the object over which we dropped the circle.
var target = obj.dropTarget;
// If the target object exists the we ask the test_match function
// to compare moved obj and target where it was dropped.
if (target != null)
{
test_match(target, obj);
}
obj.stopDrag();
}
function test_match(target,obj) {
// test if the pairs match
if (dict[target] == obj)
{
// we got a hit
hits = hits+1;
textField.text = "Yes ! You got one !";
// make the object transparent
obj.alpha = 0.5;
// kill its event listeners - object can't be moved anymore
obj.removeEventListener(MouseEvent.MOUSE_DOWN, mouseDownHandler);
obj.removeEventListener(MouseEvent.MOUSE_UP, mouseUpHandler);
// Test if we are done
if (hits == max)
{
textField.text = "Excellent!";
}
}
else
{
textField.text = "Try Again :(";
}
}
--------------------------------------------------------------------------------------------------------------// test if the pairs match
if (dict[target] == obj)
{
// we got a hit
hits = hits+1;
textField.text = "Yes ! You got one !";
// make the object transparent
obj.alpha = 0.5;
// kill its event listeners - object can't be moved anymore
obj.removeEventListener(MouseEvent.MOUSE_DOWN, mouseDownHandler);
obj.removeEventListener(MouseEvent.MOUSE_UP, mouseUpHandler);
// Test if we are done
if (hits == max)
{
textField.text = "Excellent!";
}
}
else
{
textField.text = "Try Again :(";
}
}
DRAG DROP HIT TEST POINT GAME IN AS3
INSTANCE NAME:
item1_mc,item2_mc,item3_mc,dropZone1_mc,dropZone2_mc,dropZone3_mc
right_mc,wrong_mc
done_btn,reset_btn
----------------------------------------------------------------------------------------------------------------
--------------------------------------------------------------------------------------------------------------
COPY AND PASTE CODE IN ACTION SCRIPT PANEL
Download Source File :
http://www40.zippyshare.com/v/1PAhcDmf/file.html
--------------------------------------------------------------------------------------------------------------
right_mc.visible=false;
wrong_mc.visible=false;
var orig1X:Number=item1_mc.x;
var orig1Y:Number=item1_mc.y;
var orig2X:Number=item2_mc.x;
var orig2Y:Number=item2_mc.y;
var orig3X:Number=item3_mc.x;
var orig3Y:Number=item3_mc.y;
item1_mc.addEventListener(MouseEvent.MOUSE_DOWN, dragTheObject);
item1_mc.addEventListener(MouseEvent.MOUSE_UP, item1Release);
item2_mc.addEventListener(MouseEvent.MOUSE_DOWN, dragTheObject);
item2_mc.addEventListener(MouseEvent.MOUSE_UP, item2Release);
item3_mc.addEventListener(MouseEvent.MOUSE_DOWN, dragTheObject);
item3_mc.addEventListener(MouseEvent.MOUSE_UP, item3Release);
done_btn.addEventListener(MouseEvent.CLICK, checkAnswers);
reset_btn.addEventListener(MouseEvent.CLICK, reset);
item1_mc.buttonMode=true;
item2_mc.buttonMode=true;
item3_mc.buttonMode=true;
function dragTheObject(event:MouseEvent):void {
var item:MovieClip=MovieClip(event.target);
item.startDrag();
var topPos:uint=this.numChildren-1;
this.setChildIndex(item, topPos);
}
function item1Release(event:MouseEvent):void {
var item:MovieClip=MovieClip(event.target);
item.stopDrag();
if (dropZone1_mc.hitTestPoint(item.x,item.y)) {
item.x=dropZone1_mc.x;
item.y=dropZone1_mc.y;
}
else {
item.x=orig1X;
item.y=orig1Y;
}}
function item2Release(event:MouseEvent):void {
var item:MovieClip=MovieClip(event.target);
item.stopDrag();
if (dropZone2_mc.hitTestPoint(item.x,item.y)) {
item.x=dropZone2_mc.x;
item.y=dropZone2_mc.y;
}
else {
item.x=orig2X;
item.y=orig2Y;
}}
function item3Release(event:MouseEvent):void {
var item:MovieClip=MovieClip(event.target);
item.stopDrag();
if (dropZone3_mc.hitTestPoint(item.x,item.y)) {
item.x=dropZone3_mc.x;
item.y=dropZone3_mc.y;
} else {
item.x=orig3X;
item.y=orig3Y;
}}
function checkAnswers(event:MouseEvent):void {
if (dropZone1_mc.hitTestPoint(item1_mc.x,item1_mc.y) &&
dropZone2_mc.hitTestPoint(item2_mc.x,item2_mc.y) &&
dropZone3_mc.hitTestPoint(item3_mc.x,item3_mc.y)) {
wrong_mc.visible = false;
right_mc.visible = true;
} else {
wrong_mc.visible = true;
right_mc.visible = false;
}}
function reset(event:MouseEvent):void {
item1_mc.x=orig1X;
item1_mc.y=orig1Y;
item2_mc.x=orig2X;
item2_mc.y=orig2Y;
item3_mc.x=orig3X;
item3_mc.y=orig3Y;
right_mc.visible=false;
wrong_mc.visible=false;
}
function itemRelease(event:MouseEvent):void {
var thisItem:MovieClip = MovieClip(event.target);
thisItem.stopDrag();
if (dropZone1_mc.hitTestPoint(thisItem.x,thisItem.y)) {
thisItem.x = dropZone1_mc.x;
thisItem.y = dropZone1_mc.y;
}
else if (dropZone2_mc.hitTestPoint(thisItem.x,thisItem.y)) {
thisItem.x = dropZone2_mc.x;
thisItem.y = dropZone2_mc.y;
}
else if (dropZone3_mc.hitTestPoint(thisItem.x,thisItem.y)) {
thisItem.x = dropZone3_mc.x;
thisItem.y = dropZone3_mc.y;
}
else if (thisItem==item1_mc) {
event.target.x = orig1X;
event.target.y = orig1Y;
}
else if (thisItem==item2_mc) {
event.target.x = orig2X;
event.target.y = orig2Y;
}
else {
event.target.x = orig3X;
event.target.y = orig3Y;
}}
2 comments
function transp(evt:MouseEvent, theMessage:String)
{
evt.target.alpha = 0.1;
trace("theMessage = ", theMessage);
}
square_btn.addEventListener(MouseEvent.CLICK, transp(evt, "hello!"));
Hit Testpoint And Hittest Object In As3 - Flash College >>>>> Download Now
>>>>> Download Full
Hit Testpoint And Hittest Object In As3 - Flash College >>>>> Download LINK
>>>>> Download Now
Hit Testpoint And Hittest Object In As3 - Flash College >>>>> Download Full
>>>>> Download LINK tk
EmoticonEmoticon