Difference between revisions of "Sprite.overlaps"

From MiniScript Wiki
Jump to navigation Jump to search
(Created page with "<c> Sprite.overlaps</c> checks whether this sprite overlaps (touches) another one, by comparing their bounds. === Arguments === {| class="wikitable" |- ! Parameter Name !!...")
 
(Add example)
 
(One intermediate revision by one other user not shown)
Line 1: Line 1:
<c> Sprite.overlaps</c> checks whether this sprite overlaps (touches) another one, by
+
<c>[[Sprite]].overlaps</c> checks whether this sprite overlaps (touches) another one, by
 
comparing their bounds.  
 
comparing their bounds.  
  
Line 14: Line 14:
 
Use of this requires first defining the [[Sprite.localBounds|localBounds]]
 
Use of this requires first defining the [[Sprite.localBounds|localBounds]]
 
of each sprite.
 
of each sprite.
 +
 +
=== Example ===
 +
 +
<ms>clear
 +
 +
// Load images
 +
 +
wumpusImg = file.loadImage("/sys/pics/Wumpus.png")
 +
muffinImg = file.loadImage("/sys/pics/food/Muffin.png")
 +
 +
// Define sprites
 +
 +
wumpus = new Sprite
 +
wumpus.image = wumpusImg
 +
// Define localBounds for Wumpus!
 +
wumpus.localBounds = new Bounds
 +
wumpus.localBounds.width = wumpusImg.width
 +
wumpus.localBounds.height = wumpusImg.height
 +
 +
muffin = new Sprite
 +
muffin.image = muffinImg
 +
// Define localBounds for muffin!
 +
muffin.localBounds = new Bounds
 +
muffin.localBounds.width = muffinImg.width
 +
muffin.localBounds.height = muffinImg.height
 +
 +
// Push sprites to the display
 +
display(4).sprites.push wumpus
 +
display(4).sprites.push muffin
 +
 +
checkOverlap = function
 +
text.clear
 +
if wumpus.overlaps(muffin) then
 +
print "Eating muffin!"
 +
else
 +
print "No overlap"
 +
end if
 +
end function
 +
 +
// Case 1: No overlap
 +
 +
wumpus.x = 300
 +
wumpus.y = 400
 +
 +
muffin.x = 500
 +
muffin.y = 400
 +
 +
checkOverlap
 +
 +
wait 2
 +
 +
// Case 2: Overlap
 +
 +
wumpus.x += 150
 +
 +
checkOverlap
 +
</ms>
  
 
[[Category:Mini Micro]]
 
[[Category:Mini Micro]]

Latest revision as of 15:22, 4 May 2024

Sprite.overlaps checks whether this sprite overlaps (touches) another one, by comparing their bounds.

Arguments

Parameter Name Type Meaning
other Sprite or Bounds object to check for overlap with

Usage Notes

Use of this requires first defining the localBounds of each sprite.

Example

clear

// Load images

wumpusImg = file.loadImage("/sys/pics/Wumpus.png")
muffinImg = file.loadImage("/sys/pics/food/Muffin.png")

// Define sprites

wumpus = new Sprite
wumpus.image = wumpusImg
// Define localBounds for Wumpus!
wumpus.localBounds = new Bounds
wumpus.localBounds.width = wumpusImg.width
wumpus.localBounds.height = wumpusImg.height

muffin = new Sprite
muffin.image = muffinImg
// Define localBounds for muffin!
muffin.localBounds = new Bounds
muffin.localBounds.width = muffinImg.width
muffin.localBounds.height = muffinImg.height

// Push sprites to the display
display(4).sprites.push wumpus
display(4).sprites.push muffin

checkOverlap = function
	text.clear
	if wumpus.overlaps(muffin) then
		print "Eating muffin!"
	else
		print "No overlap"
	end if
end function

// Case 1: No overlap

wumpus.x = 300
wumpus.y = 400

muffin.x = 500
muffin.y = 400

checkOverlap

wait 2

// Case 2: Overlap

wumpus.x += 150

checkOverlap