用on。判断用哪个介词,可以根据句意和这个介词的意思来选择,in这个介词有在……以内/之中、穿着、采用(某种方式)等意思。而on这个介词有本身就有在……上、在……之时的意思。所以在屋顶是用on,on the roof。
in我觉得用