Hi Richard


I can draw a line object from the loc of one object to the loc of another.
But if I want to draw only in the space _between_ objects rather than
intersect them, how do I get the points for the location where a line object
would meet the edge of the other objects if drawn all the way to their
centers, as indicated by the "X"s below:

There might be a more ellegant solution to your problem but the one below works.
It calculates a list of the rounded locations of every pixel of the connecting line,
and checks then the first points of each end that are not within the buttons.


Cheers
Thomas


on mouseUp put the loc of button "Button 1" into LStart put the loc of button "Button 2" into LStop put (item 1 of LStop) - (item 1 of LStart) into DistX put (item 2 of LStop) - (item 2 of LStart) into DistY put round((DistX^2+DistY^2)^0.5) into LLength put DistX/LLength into XStep put DistY/LLength into YStep

put 0 into i
put empty into PList -- calculated pixel of the whole line
repeat LLength times
put i + 1 into i
put (item 1 of LStart) + round(XStep*i) & comma & (item 2 of LStart) + round(YStep*i) & return after PList
end repeat
delete last char of PList


  --search the first Border-Point
  repeat with i = 1 to the number of lines of PList
    if within(button "Button 1",line i of PList) then
      next repeat
    else
      put line i of PList into LStart
      exit repeat
    end if
  end repeat

  --search the second Border-Point
  repeat with i = (the number of lines of PList) down to 1
    if within(button "Button 2",line i of PList) then
      next repeat
    else
      put line i of PList into LStop
      exit repeat
    end if
  end repeat

  put LStart & comma & LStop into Punkte
  set the points of graphic "ConnectingLine" to Punkte
end mouseUp

_______________________________________________
use-revolution mailing list
[EMAIL PROTECTED]
http://lists.runrev.com/mailman/listinfo/use-revolution

Reply via email to