Сообщение от Michael
1) "Отброс невозможных вариантов"
Нетрудно заметить, что при нажатии кнопки мыши мы можем выделить только одного юнита, значим мы можем изменить код функции так:
Function PickUnit()
Pick=CameraPick(camera,MouseX(),MouseY())
For u.unit = each unit
If Pick=u\model SelectUnit(u)
Return
Next
End Function
Итак, мы в среднем увеличили скорость выполнения цикла в два раза!
|
Ну в "среднем" из цикла производится выход сразу же после проверки первого элемента... работать правильно будет вот так:
[highlight=blitzbasic]
Function PickUnit()
Pick=CameraPick(camera,MouseX(),MouseY())
For u.unit = each unit
If Pick=u\model
SelectUnit(u)
Return
EndIf
Next
End Function
[/highlight]