PDA

Просмотр полной версии : пересечение объектов


BM Senya
16.03.2007, 14:29
Помогите, очень надо. Попытаюсь обяснить. Есть объект. есть 2 поля в пределы которого его нужно перетащить. Только одно верное другое не верное. нужно чтобы когда объект косался верного поля то поле загоралось (допустим зелёным цветом) а неверного красным. И так каждому объекту своё верное поле. За каждое верное пересечение поля с объектом начисляютя очки (допустим по 15 очков за каждое) Если не тяжело помогите. Буду очень хорошо если скините исходник. Заранее очень Вас благодарю.

etc
16.03.2007, 14:31
hitTest?

BM Senya
16.03.2007, 14:46
Можно подробнее?

etc
16.03.2007, 14:54
http://livedocs.macromedia.com/flash/8/main/00002475.html

BM Senya
16.03.2007, 15:08
_etc а как чтоб вместо надписи "you hit the circle" из примера circle_mc приобретал цвет отличный от предыдущего? И в месте за это начислились очки.Заранее Вас благодарю.

CorC
16.03.2007, 15:18
либо мувики рисовать с разными кадрами\состояниями
либо setRGB

etc
16.03.2007, 15:20
Почитать про классы ColorTransform, Color (устарел) и сделать. А уж с очками как-нибудь самостоятельно.

iNils
16.03.2007, 15:23
Color (устарел)Ну не на столько, как loadVariables.

etc
16.03.2007, 15:26
Не спорю, ColorTransform, на самом деле, довольно неудобен. Много лишних действий. Я и не говорил, что он совсем устарел, я бы его даже не упомянул тогда бы :D

iNils
16.03.2007, 15:29
Честно говоря, я не понимаю зачем они новый класс создали, когда можно было просто Color расширить.

etc
16.03.2007, 15:33
Видимо, для BitmapData.

BM Senya
16.03.2007, 17:13
Очень прошу исправьте код!!!!!
square_mc.onPress = function() {
this.startDrag();
};
square_mc.onRelease = function() {
this.stopDrag();
if (this.hitTest(circle_mc)) {
import flash.display.circle_mc;
import flash.geom.ColorTransform;

var mycircle_mc:circlemc = new BitmapData(100, 80, false, 0x00CCCCCC);

var mc:MovieClip = this.createEmptyMovieClip("circle_mc", this.getNextHighestDepth());
mc.attachBitmap(myBitmapData, this.getNextHighestDepth());

mc.onPress = function() {
myBitmapData.colorTransform(myBitmapData.rectangle, new ColorTransform(1, 0, 0, 1, 255, 0, 0, 0));



}

}
};
Помогите мне это очень не обходимо!

iNils
16.03.2007, 18:32
Нужен не код, а исходник с кодом.

BM Senya
16.03.2007, 18:42
iNils идея такая. когда ставишь бутылку в выделенный квадрат он становился (к примеру зелйным, и так для каждой бутылки соё место) поставил не правельно загорелся красным. Заранее оооочень благодарен.


Всё скинул.

iNils
16.03.2007, 18:56
Да мне ваша идея как-то по боку :) Мне исходник нужен.

BM Senya
16.03.2007, 19:00
Красный квадрат это типа бутылка)))))

iNils
16.03.2007, 20:17
square_mc.onPress = function () {
this.startDrag ();
};
square_mc.onRelease = function () {
this.stopDrag ();
if (this.hitTest (circle_mc)) {
trace ("верно!!!" + this);
var clr = new Color (this);
clr.setRGB (0x00FF00);
}
};