kopia lustrzana https://github.com/backface/turtlestitch
Improve edge-collision detection of default sprite “arrow” shape
rodzic
d94d9ff4e8
commit
17b6ae839b
|
@ -2372,3 +2372,8 @@ ______
|
|||
141202
|
||||
------
|
||||
* New Kannada translation. Yay!! Thanks, Vinayakumar R!!
|
||||
|
||||
141203
|
||||
------
|
||||
* Morphic: Cache actual bounding box of the Pen arrow shape
|
||||
* Threads, Objects: Improve edge-collision detection of default sprite “arrow” shape
|
||||
|
|
|
@ -125,7 +125,7 @@ PrototypeHatBlockMorph*/
|
|||
|
||||
// Global stuff ////////////////////////////////////////////////////////
|
||||
|
||||
modules.objects = '2014-December-01';
|
||||
modules.objects = '2014-December-03';
|
||||
|
||||
var SpriteMorph;
|
||||
var StageMorph;
|
||||
|
@ -3238,8 +3238,11 @@ SpriteMorph.prototype.setCenter = function (aPoint, justMe) {
|
|||
|
||||
SpriteMorph.prototype.nestingBounds = function () {
|
||||
// same as fullBounds(), except that it uses "parts" instead of children
|
||||
var result;
|
||||
result = this.bounds;
|
||||
// and special cases the costume-less "arrow" shape's bounding box
|
||||
var result = this.bounds;
|
||||
if (!this.costume && this.penBounds) {
|
||||
result = this.penBounds.translateBy(this.position());
|
||||
}
|
||||
this.parts.forEach(function (part) {
|
||||
if (part.isVisible) {
|
||||
result = result.merge(part.nestingBounds());
|
||||
|
|
14
threads.js
14
threads.js
|
@ -83,7 +83,7 @@ ArgLabelMorph, localize, XML_Element, hex_sha512*/
|
|||
|
||||
// Global stuff ////////////////////////////////////////////////////////
|
||||
|
||||
modules.threads = '2014-November-26';
|
||||
modules.threads = '2014-December-03';
|
||||
|
||||
var ThreadManager;
|
||||
var Process;
|
||||
|
@ -2368,6 +2368,7 @@ Process.prototype.objectTouchingObject = function (thisObj, name) {
|
|||
var myself = this,
|
||||
those,
|
||||
stage,
|
||||
box,
|
||||
mouse;
|
||||
|
||||
if (this.inputOption(name) === 'mouse-pointer') {
|
||||
|
@ -2379,9 +2380,14 @@ Process.prototype.objectTouchingObject = function (thisObj, name) {
|
|||
} else {
|
||||
stage = thisObj.parentThatIsA(StageMorph);
|
||||
if (stage) {
|
||||
if (this.inputOption(name) === 'edge' &&
|
||||
!stage.bounds.containsRectangle(thisObj.bounds)) {
|
||||
return true;
|
||||
if (this.inputOption(name) === 'edge') {
|
||||
box = thisObj.bounds;
|
||||
if (!thisObj.costume && thisObj.penBounds) {
|
||||
box = thisObj.penBounds.translateBy(thisObj.position());
|
||||
}
|
||||
if (!stage.bounds.containsRectangle(box)) {
|
||||
return true;
|
||||
}
|
||||
}
|
||||
if (this.inputOption(name) === 'pen trails' &&
|
||||
thisObj.isTouching(stage.penTrailsMorph())) {
|
||||
|
|
Ładowanie…
Reference in New Issue