bugGnash - The GNU Flash player - Bugs: bug #22889, collision detection problem

 
 

bug #22889: collision detection problem

Submitted by:  Zou Lunkai <zoulunkai>
Submitted on:  Thu 10 Apr 2008 08:18:07 AM UTC  
 
Category: ActionScriptSeverity: 4 - Important
Release: NoneStatus: Fixed
Privacy: PublicAssigned to: Zou Lunkai <zoulunkai>
Open/Closed: Closed

Add a New Comment(Rich Markup)
   

You are not logged in

Please log in, so followups can be emailed to you.

 

(Jump to the original submission Jump to the original submission)

Thu 08 May 2008 09:47:58 AM UTC, comment #8:

OK, I'll close this item.

The stage resizing problem might be related to timeline control or mouse events order. I'll file one when get things clearer.

Zou Lunkai <zoulunkai>In charge of this item.
Thu 08 May 2008 09:38:36 AM UTC, comment #7:

confirm it's fixed, I suggest you file other bugs for other
problems (I also got a deadlock or something, went away with -r1)

Sandro Santilli <strk>
Project Member
Thu 08 May 2008 09:21:11 AM UTC, comment #6:

The collision detection(rebounding the ball) is fixed. Basically, hitTest() doesn't need to care about the _visible flag.

The stage resizing problem still exists, I'll check it later.

Zou Lunkai <zoulunkai>In charge of this item.
Mon 05 May 2008 10:25:59 AM UTC, comment #5:

All I remember is I did add some tests,
maybe there are expected failures, take a look.
misc-ming.all/mask_test{,2,3}.c
misc-ming.all/DrawingApiTest.as

Sandro Santilli <strk>
Project Member
Mon 05 May 2008 10:09:27 AM UTC, comment #4:

> It seems hitTest() should work with both masks and invisible
> shapes, but the real code doesn't match the description in
> that section.


hitTest works for static placed masks, but not for dynamic masks(created by the drawing API). Still under testing...

If you have already know something interesting, please let me know:)

Zou Lunkai <zoulunkai>In charge of this item.
Mon 05 May 2008 06:30:05 AM UTC, comment #3:

I'v found problem (1)(cann't rebound the ball with the game swf).

The expected behaviour of MovieClip.hitTest() is that it should work with invisible sprites(movieclip._visible == false). Now see code in Gnash, sprite_instance.cpp, function sprite_hit_test, around line 824. It uses pointInVisibleShape() for hitTest(), which apparently ignores invisible shapes.

strk: see this entry of the changeLog:

2008-01-20 Sandro Santilli <strk@keybit.net>

It seems hitTest() should work with both masks and invisible shapes, but the real code doesn't match the description in that section.

I am going to work on a smaller testcase first.

Zou Lunkai <zoulunkai>In charge of this item.
Thu 10 Apr 2008 09:50:34 AM UTC, comment #2:

I confirm (1).
Didn't test the regression, if it is keep severity as IMPORTANT.
Chances are problem is in mask handling, which I belive
was fixed in 0.8.2.

Sandro Santilli <strk>
Project Member
Thu 10 Apr 2008 09:40:44 AM UTC, comment #1:

Notes:
(1) to reproduce the bug with cvs head, first press 'StartGame',
then 'PlayBall', then 'START GAME', you'll see you cann't rebound the ball.

(2) this should be a regression or a time dependent game. I tried with a ealier version of Gnash(compiled in debug mode, ealier than 0.8.2-release), the ball could be rebounded.

(3) forget about the annoying resizing problem at the moment, it's might be timeline re-construction bug specific to swf5.

It would be great if anyone could confirm (1) and (2).

Zou Lunkai <zoulunkai>In charge of this item.
Thu 10 Apr 2008 08:18:07 AM UTC, original submission:

The attached is a game swf. Play it, and you'll see the problem. It might be a collision detection problem, but who know what happended internally. Will do do some tracking later.

Zou Lunkai <zoulunkai>In charge of this item.

 

(Note: upload size limit is set to 16384 kB, after insertion of the required escape characters.)

Attach File(s):
   
   
Comment:
   

Attached Files
file #15438:  collision_detection.swf added by zoulunkai (250KiB - application/x-shockwave-flash)

 

Depends on the following items: None found

Items that depend on this one: None found

 

Carbon-Copy List
  • -unavailable- added by strk (Posted a comment)
  • -unavailable- added by zoulunkai
  • -unavailable- added by zoulunkai (Submitted the item)
  •  

    Do you think this task is very important?
    If so, you can click here to add your encouragement to it.
    This task has 0 encouragements so far.

    Only logged-in users can vote.

     

    Please enter the title of George Orwell's famous dystopian book (it's a date):

     

     

    Follow 10 latest changes.

    Date Changed By Updated Field Previous Value => Replaced By
    Thu 08 May 2008 09:47:58 AM UTCzoulunkaiOpen/ClosedOpen=>Closed
    Thu 08 May 2008 09:47:57 AM UTCzoulunkaiStatusReady For Test=>Fixed
    Thu 08 May 2008 09:21:11 AM UTCzoulunkaiStatusIn Progress=>Ready For Test
    Mon 05 May 2008 06:30:05 AM UTCzoulunkaiStatusNone=>In Progress
      Assigned toNone=>zoulunkai
    Thu 10 Apr 2008 09:50:34 AM UTCstrkSeverity3 - Normal=>4 - Important
    Thu 10 Apr 2008 09:43:02 AM UTCzoulunkaiSeverity4 - Important=>3 - Normal
      Carbon-Copy-=>Added -unavailable-
    Thu 10 Apr 2008 09:40:43 AM UTCzoulunkaiSeverity3 - Normal=>4 - Important
    Thu 10 Apr 2008 08:18:08 AM UTCzoulunkaiAttached File-=>Added collision_detection.swf, #15438

    Back to the top


    Powered by Savane 3.1-cleanup1