Есть способ решить такую задачу?
Конечно, есть.
Я вижу 3 варианта:
1) Как я понимаю, у вас эмиттер движется по окружности за счет ключей на шкале времени. У вас имеется текущее положение мыши (cx,cy) - оно соответствует центру окружности. Прежде чем вызывать Magic_SetEmitterPosition, чтобы переместить эмиттер, сначала вызываем Magic_GetEmitterPosition и определяем координаты эмиттера (ex,ey). Далее определяем координаты эмиттера относительно положения мыши (sx=ex-cx, sy=ey-cy). Теперь перемещаем координаты центра (мыши) в новое положение (cx=mouse_x, cy=mouse_y). Пересчитываем координаты эмиттера (ex=cx+sx, ey=cy+sy). Вызываем Magic_SetEmitterPosition(hmEmitter, ex,ey);
2) Если известно, что эмиттер всегда двигается по окружности, то можно всё упростить. Необходимо использовать не эмиттер типа Точка, а эмиттер типа Окружность (выбор формы осуществляется на самом первом графике при выделенном эмиттере), на этом же графике выбирается радиус окружности. На графике "Направление эмиттера" перемещаем угол излучения, чтобы было движение по кругу. Прицепил файл с примером.
3) Для эмиттера типа Точка можно при помощи зеленой и синей линии на графике выбирать координаты эмиттера. На мой взгляд, нарисовать таким образом окружность будет непросто, поэтому лучше использовать варианты либо 1 либо 2.
В случаях 2 и 3 никаких дополнительных манипуляций с координатами не потребуется.